24小时热门版块排行榜    

查看: 2371  |  回复: 20
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

清晨的兔子

银虫 (小有名气)

[求助] 跪求matlab的for循环语句的编写

跪求各位大侠,指导一下下面这个程序的编写。
%需要输入的数组为x数组和T数组
x=[0.07 0.13 0.28 0.44]
T=[283 296 312 320]

%计算用到的函数如下,这是我随便写的函数,主要写明每个函数里面的未知输入量是哪个
m=x^2+2x
n=2x^+3T
o=4x^2+5T^2
p=m+n*o
q=3/(T^2)

%我要得到的结果如下
y(i)=exp(q-p)

%最终目的是将计算得到的y(i)与代入的初值x(i)比较
k=y(i)-x(i)
%如果k的绝对值abs(k)<=0.00001,则最终的输出结果为xcal=y(i),否则将得出的y(i)赋值给最初代入计算的x,接着进行计算,直到abs(k)<=0.00001为止。
回复此楼
做只勤劳的小蚂蚁!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
15楼: Originally posted by 清晨的兔子 at 2012-06-04 10:15:09
(⊙o⊙)…,那个啥啥,函数文件时随便写的啦,我只是想要程序啦...

数据会影响程序的,估计你要的是这个

clc
clear
x0=[0.07 0.13 0.28 0.44];
T=[283 296 312 320];
for i=1:length(x0)
    k(i)=1;
    y(i)=x0(i);
    while k(i)>0.00001
        x(i)=y(i);
        m=x(i)^2+2*x(i);
        n=2*x(i)^2+3*T(i);
        o=4*x(i)^2+5*T(i)^2;
        p=m+n.*o;
        q=3./(T(i)^2);
        y(i)=exp(q-p);
        k(i)=abs(y(i)-x(i));
    end
end
x
k
y


但是用这个也行
%需要输入的数组为x数组和T数组
function main
clc
clear
x0=[0.07 0.13 0.28 0.44];
options = optimset('Display','iter','TolFun',1e-5);
x=fsolve(@calk,x0,options)
end


%计算用到的函数如下,这是我随便写的函数,主要写明每个函数里面的未知输入量是哪个
function k=calk(x)
T=[283 296 312 320];
m=x.^2+2*x;
n=2*x.^2+3*T;
o=4*x.^2+5*T.^2;
p=m+n.*o;
q=3./(T.^2);
%我要得到的结果如下
y=exp(q-p);
%最终目的是将计算得到的y(i)与代入的初值x(i)比较
k=abs(y-x)-0.00001;
end
%如果k的绝对值abs(k)<=0.00001,则最终的输出结果为xcal=y(i),否则将得出的y(i)赋值给最初代入计算的x,接着进行计算,直到abs(k)<=0.00001为止。
showmethemoney
17楼2012-06-04 10:27:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 21 个回答

清晨的兔子

银虫 (小有名气)

这是我自己写的程序:
x=[0.07 0.13 0.28 0.44]
T=[283 296 312 320]
for i=1:length(T)
m=x^2+2x
n=2x^+3T
o=4x^2+5T^2
p=m+n*o
q=3/(T^2)
y(i)=exp(q-p)
k=y(i)-x(i)
if abs(k)<=0.00001
xcal=y(i)
接下来不会了
做只勤劳的小蚂蚁!
2楼2012-06-03 17:10:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yujia5038

铁杆木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
你的问题描述中存在错误:
1. n=2x^+3T  表达式不正确
2. y(i)=exp(q-p)与x(i) 是要表达什么意思?这里的i是指与迭代次数关联?

你的程序大框架不对
3楼2012-06-03 17:52:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
3楼: Originally posted by yujia5038 at 2012-06-03 17:52:39
你的问题描述中存在错误:
1. n=2x^+3T  表达式不正确
2. y(i)=exp(q-p)与x(i) 是要表达什么意思?这里的i是指与迭代次数关联?

你的程序大框架不对

n=2x^2+3T,不好意思写错了
x(i)就是x=[0.07 0.13 0.28 0.44]对应的各个数,x(1)=0.07,x(2)=0.13
是将x(i)代入那几个函数里面进行计算得出结果y(i),再将y(i)与x(i)进行比较
做只勤劳的小蚂蚁!
4楼2012-06-03 17:57:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +32 医学老男孩 2026-08-13 74/3700 2026-08-16 21:05 by 医学老男孩
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
信息提示
请填处理意见