24小时热门版块排行榜    

查看: 864  |  回复: 7

惜梦寻草

新虫 (初入文坛)

[求助] matlab程序调试

如题,程序如下,不知道为什么会报错,希望能帮助调试一下,谢谢!
clear
clc
a1=5.756;
a2=0.0983;
a3=0.2020;
a4=189.32;
a5=12.52;
a6=1.32e-2;
b1=2.860e-6;
b2=4.700e-8;
b3=6.113e-8;
b4=1.516e-4;
T=25;
f=(T-24.5).*(T+570.82);
A=28.0:0.01:32.0;
lamdap=1.064;  
lamdas=1.4:0.01:5.4;
lamdai=1./(1./lamdap-1./lamdas);
c=1;
c2=1;
for i=1:length(A)
    m=1;
    for n=1:length(lamdas)
        if  lamdai(n)>lamdas(n);
            lamdass(m)=lamdas(n);  
            lamdaii(m)=lamdai(n);
            np(m)=(a1+b1*f+(a2+b2*f)/(lamdap^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdap^2-a5^2)-a6*lamdap^2)^(1/2);
            ns(m)=(a1+b1*f+(a2+b2*f)/(lamdass(m)^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdass(m)^2-a5^2)-a6*lamdass(m)^2)^(1/2);
            ni(m)=(a1+b1*f+(a2+b2*f)/(lamdaii(m)^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdaii(m)^2-a5^2)-a6*lamdaii(m)^2)^(1/2);
            w(m)=abs(np(m)./lamdap-ns(m)./lamdass(m)-ni(m)./lamdaii(m)-1./A);
            m=m+1;
        end
    end
    if min(w)<10^-5
        [x1,y1]=min(w);
        A1(c)=A(i);
        lamdas1(c)=lamdass(y1);
        lamdai1(c)=lamdaii(y1);
        lamdap2=lamdas1(c);
        lamdas2=(lamdap2+0.001):0.0001:6;
        lamdai2=1./(1./lamdap2-1./lamdas2);
        c=c+1;
        m2=1;
        for n2=1:length(lamdas2)
            if  lamdai2(n2)>lamdas2(n2)
                lamdass2(m2)=lamdas2(n2);
                lamdaii2(m2)=lamdai2(n2);  
                ns2(m2)=(a1+b1*f+(a2+b2*f)/(lamdass2(m2)^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdass2(m2)^2-a5^2)-a6*lamdass2(m2)^2)^(1/2);
                ni2(m2)=(a1+b1*f+(a2+b2*f)/(lamdaii2(m2)^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdaii2(m2)^2-a5^2)-a6*lamdaii2(m2)^2)^(1/2);
                np2(m2)=(a1+b1*f+(a2+b2*f)/(lamdap2^2-(a3+b3*f)^2)+(a4+b4*f)/(lamdap2^2-a5^2)-a6*lamdap2^2)^(1/2);
                w2(m2)=abs(np2(m2)/lamdap2-ns2(m2)/lamdass2(m2)-ni2(m2)/lamdaii2(m2)-1./A);
                m2=m2+1;
            end
        end
        if min(w2)<10^-6.07
            [x2,y2]=min(w2);
            A2(c2)=A(i);
            lamdasss2(c2)=lamdass2(y2);
            lamdaiii2(c2)=lamdaii2(y2);
            c2=c2+1;
        end
    end
end
plot(A1,lamdas1,A1,lamdai1,A2,lamdasss2,A2,lamdaiii2)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shutaham

金虫 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-01-08 13:58:02
惜梦寻草: 金币+2 2013-01-09 18:57:26
In an assignment  A(I) = B, the number of elements in B and I must be the
same.

Error in Untitled (line 30)
            w(m)=abs(np(m)./lamdap-ns(m)./lamdass(m)-ni(m)./lamdaii(m)-1./A);
>>
估计问题出在那个 1./A 上
2楼2013-01-08 10:10:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiahongen

新虫 (初入文坛)

呵呵,正在学习中
3楼2013-01-08 13:46:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by shutaham at 2013-01-08 10:10:51
In an assignment  A(I) = B, the number of elements in B and I must be the
same.

Error in Untitled (line 30)
            w(m)=abs(np(m)./lamdap-ns(m)./lamdass(m)-ni(m)./lamdaii(m)-1./A);
>&g ...

谢谢!那应该怎么改呢?A应该不是一个值
4楼2013-01-08 19:49:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgycjpcqu

金虫 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-01-09 09:22:05
惜梦寻草: 金币+2 2013-01-09 18:57:35
A向量中共有401个元素,m的取值范围由于判定语句
if  lamdai(n)>lamdas(n);
的存在必然会小于401(如果等于此判定就没有意义)
所以错误提示说,w和A中的元素要求相等。
如果语句
w(m)=abs(np(m)./lamdap-ns(m)./lamdass(m)-ni(m)./lamdaii(m)-1./A);
的意思说当上面的判定成立时,用A向量对应位置的元素计算w的数值的话,改成1/A(m)即可。
我也是初学者,呵呵希望对你有帮助!
5楼2013-01-09 08:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

惜梦寻草

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by lgycjpcqu at 2013-01-09 08:58:18
A向量中共有401个元素,m的取值范围由于判定语句
if  lamdai(n)>lamdas(n);
的存在必然会小于401(如果等于此判定就没有意义)
所以错误提示说,w和A中的元素要求相等。
如果语句
w(m)=abs(np(m)./lamdap- ...

修改了以后运行一下还是有问题
??? Undefined function or variable 'A1'.
不知道怎么改了
6楼2013-01-09 18:57:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

connors

禁虫 (小有名气)


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-01-10 10:35:48
本帖内容被屏蔽

7楼2013-01-09 20:15:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgycjpcqu

金虫 (正式写手)

【答案】应助回帖

★ ★
csgt0: 金币+1, 谢谢 2013-01-10 10:35:54
惜梦寻草: 金币+1, 有帮助, 谢谢啦! 2013-01-11 08:16:16
引用回帖:
6楼: Originally posted by 惜梦寻草 at 2013-01-09 18:57:04
修改了以后运行一下还是有问题
??? Undefined function or variable 'A1'.
不知道怎么改了...

我看了一下,修改后
if min(w)<10^-5
的判断不能成立,所以A1没有数值,
按照你的程序j计算后好像
min(w)=3.054*10^(-5)
Undefined function or variable 'A1'.
就是A1没有进行定义或是你就算中没有赋值,好好检查一下计算A1的计算程序即可发现问题。
8楼2013-01-09 22:20:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 惜梦寻草 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +9 rare12345 2026-03-18 9/450 2026-03-19 09:46 by 30660438
[考研] 0703化学调剂 +8 妮妮ninicgb 2026-03-15 12/600 2026-03-19 05:55 by anny19840123
[考研] 294求调剂材料与化工专硕 +5 陌の森林 2026-03-18 5/250 2026-03-18 22:18 by bingxueer79
[考研] 一志愿吉林大学材料学硕321求调剂 +4 Ymlll 2026-03-18 6/300 2026-03-18 22:15 by li123456789.
[考研] 328求调剂,英语六级551,有科研经历 +3 生物工程调剂 2026-03-16 10/500 2026-03-18 20:41 by Wangjingyue
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
[考研] 295求调剂 +3 一志愿京区211 2026-03-18 5/250 2026-03-18 17:03 by zhaoqian0518
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 293求调剂 +11 zjl的号 2026-03-16 16/800 2026-03-18 08:10 by zhukairuo
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 332求调剂 +6 Zz版 2026-03-13 6/300 2026-03-17 17:03 by ruiyingmiao
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 278求调剂 +3 Yy7400 2026-03-13 3/150 2026-03-17 08:24 by laoshidan
[考研] 0854控制工程 359求调剂 可跨专业 +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
[考博] 东华理工大学化材专业26届硕士博士申请 +6 zlingli 2026-03-13 6/300 2026-03-15 20:00 by ryzcf
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] [0860]321分求调剂,ab区皆可 +4 宝贵热 2026-03-13 4/200 2026-03-13 22:01 by 星空星月
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 321求调剂(食品/专硕) +3 xc321 2026-03-12 6/300 2026-03-13 08:45 by xc321
信息提示
请填处理意见