24小时热门版块排行榜    

查看: 1870  |  回复: 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的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
11楼: Originally posted by 苹果核儿 at 2012-06-04 09:07:07
那你这for程序的循环变量是哪个向量的下标呢?...

t=[0.07 0.13 0.28 0.44],那么t(1)=o.o7,t(2)=o.13,t(3)=o.28,t(4)=o.44
for i=1:length(T),就相当于for i=1:4,i=1的时候用对应着的函数m,n,o,p等求出结果并进行比较选择,然后i=2时再进行同样的下一次的循环,其实就是求了4组数。
做只勤劳的小蚂蚁!
12楼2012-06-04 09:31:15
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见