24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2069  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

gov_sb

新虫 (初入文坛)

x=[1 2];
T=[10 20];
i = 1;
while i<=length(x)
  m=2*x(i)+3*T(i);
  n=2*x(i).^2+3*T(i).^2;
  y(i)=n./10-m;
  k=y(i)-x(i);
  if k<-2
    i = i+1
  else
    x(i) = y(i)
  end
end

楼主要的是这个吧,16楼的虽然也能行,
但是时间复杂度和可读性有待改进
19楼2012-06-04 19:38:33
已阅   回复此楼   关注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的回帖

gov_sb

新虫 (初入文坛)

忘记写输出了,嘎嘎
.........
   if k<-2
     i = i+1
     在这里输出k就是了
   else
.......
20楼2012-06-04 19:40:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

清晨的兔子

银虫 (小有名气)

这是我自己写的程序:
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的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
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是指与迭代次数关联?

你的程序大框架不对

是不是应该用while循环语句啊
做只勤劳的小蚂蚁!
5楼2012-06-03 17:58:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhouzeyuan

铜虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
Matlab中x.^2与x^2是完全不一样的,楼主全部加个点即可,除法也是一样的要加个点额。
6楼2012-06-03 20:49:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
6楼: Originally posted by zhouzeyuan at 2012-06-03 20:49:49
Matlab中x.^2与x^2是完全不一样的,楼主全部加个点即可,除法也是一样的要加个点额。

这个只是我随便写的函数,我关键是要程序部分
做只勤劳的小蚂蚁!
7楼2012-06-04 08:42:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

没有高手在吗?
做只勤劳的小蚂蚁!
8楼2012-06-04 08:42:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

苹果核儿

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 清晨的兔子 at 2012-06-03 17:10:55
这是我自己写的程序:
x=
T=
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)
接下来不会了...

程序中的for 函数中的T和x是不是应该描述为T(i),x(i)呀?
把握当下的时光,不要计较于自己一时的得与失!!!
9楼2012-06-04 08:46:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
9楼: Originally posted by 苹果核儿 at 2012-06-04 08:46:22
程序中的for 函数中的T和x是不是应该描述为T(i),x(i)呀?...

不需要吧,那就在for i=length(T)后面加一句T=nt(i),x=nx(i)
做只勤劳的小蚂蚁!
10楼2012-06-04 08:56:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 清晨的兔子 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-30 10/500 2026-03-31 07:43 by yishunmin
[考研] 307求调剂 +18 超级伊昂大王 2026-03-24 20/1000 2026-03-31 01:16 by BruceLiu320
[考研] 一志愿南昌大学324求调剂 +9 hanamiko 2026-03-27 9/450 2026-03-30 20:10 by 无际的草原
[考研] 材料科学与工程 317求调剂 +7 JKSOIID 2026-03-26 7/350 2026-03-30 20:10 by 滴滴上岸呀
[考研] 322求调剂 +10 宋明欣 2026-03-27 10/500 2026-03-30 18:47 by 544594351
[考研] 材料化工340求调剂 +3 jhx777 2026-03-30 3/150 2026-03-30 17:54 by JourneyLucky
[考研] 070300一志愿211,312分求调剂院校 +4 小黄鸭宝 2026-03-30 4/200 2026-03-30 11:49 by 棒棒球手
[考研] 求调剂 +10 张zz111 2026-03-27 11/550 2026-03-30 09:17 by 无际的草原
[考研] 290求调剂 +3 dfffsar 2026-03-29 3/150 2026-03-29 22:38 by 毛毛毛阿莫2
[考研] 调剂310 +12 温柔的晚安 2026-03-25 13/650 2026-03-29 20:01 by 无际的草原
[考研] 一志愿南昌大学324求调剂 +5 hanamiko 2026-03-29 5/250 2026-03-29 16:46 by 学员8dgXkO
[考研] 356求调剂 +4 gysy?s?a 2026-03-28 4/200 2026-03-29 10:32 by 唐沐儿
[考研] 304求调剂 +6 曼殊2266 2026-03-27 6/300 2026-03-28 14:10 by 唐沐儿
[考研] 材料277求调剂 +7 min3 2026-03-24 7/350 2026-03-28 11:39 by xuxiang
[考研] 0856,材料与化工321分求调剂 +12 大馋小子 2026-03-27 13/650 2026-03-28 10:56 by self2008
[考研] 086502化学工程342求调剂 +6 阿姨复古不过 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[考研] 081200-11408-276学硕求调剂 +4 崔wj 2026-03-26 4/200 2026-03-27 08:04 by chemisry
[考研] 351求调剂 +4 麦克阿磊 2026-03-24 4/200 2026-03-27 00:32 by wxiongid
[考研] 296求调剂 +4 汪!?! 2026-03-25 7/350 2026-03-25 16:41 by 汪!?!
[考研] 0854人工智能方向招收调剂 +4 章小鱼567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
信息提示
请填处理意见