24小时热门版块排行榜    

查看: 2371  |  回复: 20

苹果核儿

金虫 (小有名气)

引用回帖:
10楼: Originally posted by 清晨的兔子 at 2012-06-04 08:56:55
不需要吧,那就在for i=length(T)后面加一句T=nt(i),x=nx(i)...

那你这for程序的循环变量是哪个向量的下标呢?
把握当下的时光,不要计较于自己一时的得与失!!!
11楼2012-06-04 09:07:07
已阅   回复此楼   关注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的回帖

lgycjpcqu

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
x=[0.07 0.13 0.28 0.44];
T=[283 296 312 320];
m=x.^2+x.*2;
n=2*x.^2+T.*3;
o=4*x.^2+5*T.^2;
p=m+n.*o;
q=3*(T.^2).^(-1);
qp=q-p;
y=exp(qp);
k=y-x;
L=length(x);
xcal=zeros(1,L);
for ii=1:L
    if abs(k(ii))<1*10^(-5)
        xcal(ii)=y(ii);
    else
        xcal(ii)=x(ii);
    end
end
xcal
13楼2012-06-04 09:53:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
小妹子啊,你这还用解吗?一眼就能看出q《《《《p,y等于0,你要abs(y-x)<=0.00001,只要取x<=0.00001就可以了。
showmethemoney
14楼2012-06-04 09:59:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
14楼: Originally posted by csgt0 at 2012-06-04 09:59:04
小妹子啊,你这还用解吗?一眼就能看出q《《《《p,y等于0,你要abs(y-x)<=0.00001,只要取x<=0.00001就可以了。

(⊙o⊙)…,那个啥啥,函数文件时随便写的啦,我只是想要程序啦
做只勤劳的小蚂蚁!
15楼2012-06-04 10:15:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

清晨的兔子

银虫 (小有名气)

引用回帖:
13楼: Originally posted by lgycjpcqu at 2012-06-04 09:53:54
x=;
T=;
m=x.^2+x.*2;
n=2*x.^2+T.*3;
o=4*x.^2+5*T.^2;
p=m+n.*o;
q=3*(T.^2).^(-1);
qp=q-p;
y=exp(qp);
k=y-x;
L=length(x);
xcal=zeros(1,L);
for ii=1:L
    if abs(k(ii))<1*10^(-5)
       ...

带进去试过了,这个计算出来的结果跟x=[0.07 0.13 0.28 0.44]是一样的啊,程序不对
做只勤劳的小蚂蚁!
16楼2012-06-04 10:17:27
已阅   回复此楼   关注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的回帖

disini

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
清晨的兔子: 金币+30, ★★★很有帮助 2012-06-04 14:58:52
x=[0.07 0.13 0.28 0.44]
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))
for i=1:length(T);
  y(i)=exp(q(i)-p(i));
  k(i)=y(i)-x(i);
     if abs(k)<=0.00001
     xcal=y(i);
     end
  end

好了。
最后的y(i)全部是0,因为你选的数值不合适,xcal没有值,也是这个原因,不符合if设定的条件。

亲你编程序要严谨啊,要认真点写才行,语法,逻辑都不能有一点错误
比如说那个.*,.^
这都不能漏。。就算举例子也得仔细些。
这又不是写小说
18楼2012-06-04 12:55:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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的回帖

gov_sb

新虫 (初入文坛)

忘记写输出了,嘎嘎
.........
   if k<-2
     i = i+1
     在这里输出k就是了
   else
.......
20楼2012-06-04 19:40:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 清晨的兔子 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +10 Ldrop2023 2026-08-13 10/500 2026-08-17 09:59 by 小豌豆_发芽
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 6GojgJvkDudM 2026-08-16 3/150 2026-08-17 09:49 by xLVPIRuSvCUe
[基金申请] 欢迎发来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
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +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
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
信息提示
请填处理意见