24小时热门版块排行榜    

CyRhmU.jpeg
查看: 471  |  回复: 2

bustertang

新虫 (初入文坛)

[求助] matlab二元方程组求解问题

已知ab两个数组所有元素,ab的元素个数都为146个,a=n^2-k^2,b=2nk
求对应的nk数组,自己手算下发现n^2-b^2/4n^2-a=0,然后写了
n=[];
for i=1:1:146
    n(i)=solve('x^2-b(i)^2/4*x^-2-a(i)','x')
    end
程序报错,估计是要取正实根的问题,求怎么改。
另外如果直接拿原始方程编程该怎么写呢?求指导。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bustertang

新虫 (初入文坛)

似乎自己搞定了。。。把程序放下面
photonenergyev1=photonenergyev1(~isnan(photonenergyev1));
photonenergyev2=photonenergyev2(~isnan(photonenergyev2));
epsilon1=epsilon1(~isnan(epsilon1));
epsilon2=epsilon2(~isnan(epsilon2));
photonenergyevfit=1.55:0.01:3;
epsilon1fit=interp1(photonenergyev1,epsilon1,photonenergyevfit,'spline');
epsilon2fit=interp1(photonenergyev2,epsilon2,photonenergyevfit,'spline');
n=[];
for i=1:1:146
    p=[4 0 -4*epsilon1fit(i) -epsilon2fit(i)];
    x=roots(p);
    for ii=1:length(x)
        if x(ii)>0 & isreal(x(ii));
            n(i)=x(ii);
            k(i)=epsilon2fit(i)/n(i);
        end
    end
end
output=[photonenergyevfit',n',k',epsilon1fit',epsilon2fit'];
2楼2016-02-10 12:28:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xgp326265322

铁虫 (正式写手)

引用回帖:
2楼: Originally posted by bustertang at 2016-02-10 12:28:47
似乎自己搞定了。。。把程序放下面
photonenergyev1=photonenergyev1(~isnan(photonenergyev1));
photonenergyev2=photonenergyev2(~isnan(photonenergyev2));
epsilon1=epsilon1(~isnan(epsilon1));
epsilon2= ...

neng 解释一下吗看不懂
3楼2020-03-20 15:14:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bustertang 的主题更新
信息提示
请填处理意见