24小时热门版块排行榜    

查看: 1776  |  回复: 6

watertxf

铁虫 (初入文坛)

[求助] matlab解四次方程的问题 已有1人参与

matlab解四次方程的问题,我写的程序如下:要求在w=0.9:0.01:1.1的范围内求x的最大值*R随gamma=1.1:0.5:10的变化,大家能帮忙看一下出什么问题了吗?
非常感谢!
clear
clc
syms x
w=0.9:0.01:1.1;%21个
gamma=1.1:0.5:10;%18个
c=3*10^8;
wpb=0.2;
R=2.3*10^-2;


for j=1:18 %gamma
    v(j)=c*sqrt(1-1/gamma(j)^2);
    for i=1:21 %w
    y(i)=1+0.2^2/(1-w(i)^2+2i*0.015*w(i));
    %wpb(j)=sqrt((1.602*10^-19)^2*10^9/(9.109*10^-31*8.85*10^-12*gamma(j)^3));
    f(i,j)=(y(i)*(w(i)*2*pi*24*10^9)^2/c^2-x^2)*(1-(wpb*2*pi*24*10^9)^2/(((w(i)*2*pi*24*10^9)-x*v(j))^2*y(i)))-2.4048^2/R^2;
    k=solve(f);  %解出来k有四个根,
    k2=imag(k)*R;%需要k2的第四个根的值
    k2=double(k2);
    %m1(i)=k1(1,;
    %m2(i)=k1(2,;
    %m3(i)=k1(3,;
    %m4(i)=k1(4,;
    %n1(i)=k2(1,;
    %n2(i)=k2(2,;
    %n3(i)=k2(3,;
    %n4(i)=k2(4,;
    end
   k3(j)=max(k2);
end
%d=max(d)

semilogy(gamma,k3,'b --')
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

【答案】应助回帖

我没有试,也不知道出的什么错误,不过solve求解都是把变量当作sys来看,所以求解出来的解是表达式而不是数值,因此可以试着加上eval函数,看看行不行

» 本帖已获得的红花(最新10朵)

不以风骚惊天下,但求淫荡动世人
2楼2013-12-06 13:09:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

watertxf

铁虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by hppdyx at 2013-12-06 13:09:21
我没有试,也不知道出的什么错误,不过solve求解都是把变量当作sys来看,所以求解出来的解是表达式而不是数值,因此可以试着加上eval函数,看看行不行

非常感谢您的帮助!我对matlab不是太熟悉,能不能麻烦您告诉我怎样加上eval函数求解?不胜感激!
3楼2013-12-10 14:32:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

引用回帖:
3楼: Originally posted by watertxf at 2013-12-10 14:32:57
非常感谢您的帮助!我对matlab不是太熟悉,能不能麻烦您告诉我怎样加上eval函数求解?不胜感激!...

首先,你这个程序里面有很多小细节上的错误,还有一些错误需要你解释一下才行。我把你的程序改了一下,调试之后可以了,不过不知道符不符合你的要求。
CODE:
function k = res2

syms x
w = 0.9 : 0.01 : 1.1; %21个
gamma = 1.1 : 0.5 : 10;   %18个
c = 3 * 10^8;

R = 2.3 * 10^-2;

n1 = length(w);
n2 = length(gamma);
v = zeros(n2);
y = zeros(n1);
wpb = zeros(n2);
f = sym(zeros(n1, n2));
k = zeros(n1 * n2, 1);

for j = 1 : 18        %gamma
    v(j) = c * sqrt(1 - 1 ./ gamma(j).^2);
    for i = 1 : 21        %w
    y(i) = 1 + 0.2^2 ./ (1 - w(i).^2 + 2 * i * 0.015 * w(i));
    wpb(j) = sqrt((1.602 * 10^-19)^2 * 10^9 ./ (9.109 * 10^-31 * 8.85 * 10^-12 * gamma(j)^3));
    f(i, j) = (y(i) * (w(i) * 2 * pi * 24 * 10^9)^2 / c^2 - x^2) * (1 - (wpb(j) * 2 * pi * 24 * 10^9)^2 / (((w(i) * 2 * pi * 24 * 10^9) - x * v(j))^2 * y(i))) - 2.4048^2 / R^2;
    k((i-1) * n2 + j) = max(sqrt(eval(solve(f(i, j)))));  
    end
end
semilogy(gamma, k(1:18), 'b--');
figure;
plot(gamma, k(1:18), 'r');

结果如图所示:
matlab解四次方程的问题
matlab解四次方程的问题-1
不以风骚惊天下,但求淫荡动世人
4楼2013-12-12 20:26:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

引用回帖:
4楼: Originally posted by hppdyx at 2013-12-12 20:26:07
首先,你这个程序里面有很多小细节上的错误,还有一些错误需要你解释一下才行。我把你的程序改了一下,调试之后可以了,不过不知道符不符合你的要求。
function k = res2

syms x
w = 0.9 : 0.01 : 1.1; %21个 ...

不好意思,倒数第六行的sqrt改为abs。。。。图形的走势是一致的
不以风骚惊天下,但求淫荡动世人
5楼2013-12-12 20:43:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
watertxf: 金币+20, ★★★★★最佳答案, 感谢! 2013-12-13 15:21:57
引用回帖:
4楼: Originally posted by hppdyx at 2013-12-12 20:26:07
首先,你这个程序里面有很多小细节上的错误,还有一些错误需要你解释一下才行。我把你的程序改了一下,调试之后可以了,不过不知道符不符合你的要求。
function k = res2

syms x
w = 0.9 : 0.01 : 1.1; %21个 ...

把sqrt改为abs,然后又把点加密了一些,程序和结果如图(一个纵坐标是对数坐标,另一个纵坐标不是对数坐标):
CODE:
function k = res2

syms x
w = 0.9 : 0.01 : 1.1;
gamma = 1.1 : 0.2 : 10;  
c = 3 * 10^8;

R = 2.3 * 10^-2;

n1 = length(w);
n2 = length(gamma);
v = zeros(n2);
y = zeros(n1);
wpb = zeros(n2);
f = sym(zeros(n1, n2));
k = zeros(n1 * n2, 1);

for j = 1 : n2       
    v(j) = c * sqrt(1 - 1 ./ gamma(j).^2);
    for i = 1 : n1       
    y(i) = 1 + 0.2^2 ./ (1 - w(i).^2 + 2 * i * 0.015 * w(i));
    wpb(j) = sqrt((1.602 * 10^-19)^2 * 10^9 ./ (9.109 * 10^-31 * 8.85 * 10^-12 * gamma(j)^3));
    f(i, j) = (y(i) * (w(i) * 2 * pi * 24 * 10^9)^2 / c^2 - x^2) * (1 - (wpb(j) * 2 * pi * 24 * 10^9)^2 / (((w(i) * 2 * pi * 24 * 10^9) - x * v(j))^2 * y(i))) - 2.4048^2 / R^2;
    k((i-1) * n2 + j) = max(abs(eval(solve(f(i, j)))));  
    end
end
semilogy(gamma, k(1:n2), 'b--');
figure;
plot(gamma, k(1:n2), 'r');

matlab解四次方程的问题-2
matlab解四次方程的问题-3
不以风骚惊天下,但求淫荡动世人
6楼2013-12-12 20:52:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

watertxf

铁虫 (初入文坛)

引用回帖:
6楼: Originally posted by hppdyx at 2013-12-12 20:52:09
把sqrt改为abs,然后又把点加密了一些,程序和结果如图(一个纵坐标是对数坐标,另一个纵坐标不是对数坐标):
function k = res2

syms x
w = 0.9 : 0.01 : 1.1;
gamma = 1.1 : 0.2 : 10;  
c = 3 * 10^8 ...

太感谢了!这个趋势是正确的,只是数量级不对,我在看一下。非常感谢您的帮助!
7楼2013-12-13 15:22:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 watertxf 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 梁成伟老师课题组欢迎你的加入 +6 一鸭鸭哟 2026-03-14 7/350 2026-03-15 22:12 by Winj1e
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 304求调剂 +5 小熊joy 2026-03-14 5/250 2026-03-14 21:07 by peike
[考研] 中科大材料专硕319求调剂 +3 孟鑫材料 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[考研] 211本,11408一志愿中科院277分,曾在中科院自动化所实习 +3 Losir 2026-03-12 3/150 2026-03-14 12:11 by 热情沙漠
[考研] 0703化学求调剂 +5 很老实人 2026-03-09 5/250 2026-03-14 02:57 by JourneyLucky
[考研] 337一志愿华南理工材料求调剂(有希望2吗?) +3 mysdl 2026-03-09 3/150 2026-03-14 02:53 by JourneyLucky
[考研] 云南财经大学信息学院计算机学硕专硕学位点 +3 zjptai 2026-03-10 5/250 2026-03-14 01:23 by 飞行琦
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] 308求调剂 +3 是Lupa啊 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[考研] 337一志愿华南理工0805材料求调剂 +7 mysdl 2026-03-11 9/450 2026-03-13 22:43 by JourneyLucky
[考研] 315求调剂 +9 小羊小羊_ 2026-03-11 10/500 2026-03-13 21:13 by SXNU李老师
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-12 5/250 2026-03-13 10:56 by houyaoxu
[考研] 0817化学工程与技术考研312分调剂 +3 T123 tt 2026-03-12 3/150 2026-03-13 10:49 by houyaoxu
[考研] 一志愿华中师范071000,325求调剂 +5 RuitingC 2026-03-12 5/250 2026-03-13 10:43 by hyswxzs
[考研] 283求调剂,材料、化工皆可 +8 苏打水7777 2026-03-11 10/500 2026-03-13 09:06 by Linda Hu
[考研] 一志愿江南大学085701环境工程专硕总分287求调剂 +5 18266118446 2026-03-09 5/250 2026-03-11 16:51 by 2020015
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
信息提示
请填处理意见