24小时热门版块排行榜    

Znn3bq.jpeg
北京石油化工学院2026年研究生招生接收调剂公告
查看: 871  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 惜梦寻草 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 计算机11408 287 求调剂 +3 LiLe5 2026-04-07 3/150 2026-04-07 23:15 by shanqishi
[考研] 材料307分求大佬组收留 +6 Hll胡 2026-04-07 6/300 2026-04-07 23:06 by jp9609
[考研] 298求调剂 +4 残荷新柳 2026-04-07 4/200 2026-04-07 23:02 by lbsjt
[考研] 作栽330调剂 +3 我要上好学 2026-04-02 4/200 2026-04-07 19:54 by biomichael
[考研] 生物工程求调剂 +13 喜欢还是不甘心 2026-04-05 13/650 2026-04-07 16:55 by Ecowxq666!
[考研] 277工科求调剂 +10 1915668 2026-04-04 11/550 2026-04-06 23:53 by 心媛意北
[考研] 085600,321分求调剂 +14 大馋小子 2026-04-04 15/750 2026-04-06 22:58 by qlm5820
[考研] 第一志愿东南大学物理313,有科研竞赛获奖经历,希望物理复试调剂 +3 马内橙 2026-04-05 3/150 2026-04-06 10:32 by 蓝云思雨
[考研] 求调剂 +5 wos666 2026-04-03 5/250 2026-04-06 10:13 by 蓝云思雨
[考研] 085600,320分求调剂 +16 大馋小子 2026-04-04 17/850 2026-04-06 07:58 by MOF_Catal
[考研] 315求调剂 +5 &123456789 2026-04-05 5/250 2026-04-05 19:55 by nepu_uu
[考研] 本科211,293分请求调剂 +8 莲菜就是藕吧 2026-04-03 9/450 2026-04-05 19:12 by 蓝云思雨
[考研] 考研生物学考A区211,初试322,科目生化和生物综合,求调剂 +6 。。。54 2026-04-03 6/300 2026-04-05 14:54 by JOKER0401
[考研] 调剂 +3 好好读书。 2026-04-02 3/150 2026-04-05 13:02 by arrow8852
[考研] 359求调剂 +7 hhhhaaaa$ 2026-04-04 7/350 2026-04-04 18:49 by imissbao
[考研] 考研调剂 +3 15615482637 2026-04-03 3/150 2026-04-03 22:50 by ms629
[考研] 考研调剂 +8 不爱喝饮料 2026-04-03 8/400 2026-04-03 16:40 by Mistake-J
[考研] 专硕085601求调剂 +7 suyifei 2026-04-03 8/400 2026-04-03 14:00 by 欣喜777
[考研] 一志愿346上海大学生物学 +3 上海大学346调剂 2026-04-01 3/150 2026-04-02 08:36 by w虫虫123
[考研] 353求调剂 +4 拉钩不许变 2026-04-01 4/200 2026-04-01 18:10 by 记事本2026
信息提示
请填处理意见