24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 1056  |  回复: 4

susulucky

金虫 (小有名气)

[求助] matlab方程求教

函数部分:
function epsiul_m =epsiul( Lambda )
syms  epsiul_m w
%%%%%%% parameters of gold
epsiul_L=5.9673;
w_D=2113.6*2*pi*1e12;
r_D=15.92*2*pi*1e12;
omigal_L=650.07*2*pi*1e12;
T_L=104.86*2*pi*1e12;
deltepsiul=1.09;
c=3*1E8;


[epsiul_m,w] = solve('epsiul_m=epsiul_L-w_D^2/(w*(w+j*r_D))-deltepsiul*omigal_L^2/((w^2-omigal_L^2)+j*T_L*w)','w=2*pi*c/(Lambda*(sqrt(real(epsiul_m)/epsiul_0)))');

end


epsiul_0=(1/(36*pi))*1e-9;

程序部分:
Lambda=1.55e-6;
epsiul_m =epsiul( Lambda);
n_gold=sqrt(epsiul_m/epsiul_0);

为什么运行后最后出来的结果还是包含epsiul_m的表达式呢,怎么修改直接出来一个数值,而不包含epsiul_m和其它已知数的表达式,,比如最后结果连pi都未带入,本来结果应该就是一个数值呢,而不是一个表达式呢。我不知道我哪里出错了。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : epsiul.m
  • 2013-06-17 09:46:11, 562 bytes
  • 附件 2 : n.m
  • 2013-06-17 09:46:16, 129 bytes

» 猜你喜欢

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

岸芷汀兰,郁郁青青
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

susulucky

金虫 (小有名气)

也没人理俺
岸芷汀兰,郁郁青青
2楼2013-06-20 15:25:22
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

兵封年代

木虫 (小有名气)

【答案】应助回帖

Matlab中solve函数主要是用来求解线性方程组的解析解或者精确解。主要用法有四种,返回参数至多只有一个,所以楼主的“[epsiul_m,w] = solve('epsiul_m=epsiul_L-w_D^2/(w*(w+j*r_D))-deltepsiul*omigal_L^2/((w^2-omigal_L^2)+j*T_L*w)','w=2*pi*c/(Lambda*(sqrt(real(epsiul_m)/epsiul_0)))');”我不知道是怎么运行结果的,是不应该有两个返回参数的吧。
3楼2013-06-20 15:51:08
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

susulucky

金虫 (小有名气)

引用回帖:
3楼: Originally posted by 兵封年代 at 2013-06-20 15:51:08
Matlab中solve函数主要是用来求解线性方程组的解析解或者精确解。主要用法有四种,返回参数至多只有一个,所以楼主的“ = solve('epsiul_m=epsiul_L-w_D^2/(w*(w+j*r_D))-deltepsiul*omigal_L^2/((w^2-omigal_L^2)+ ...

syms epsiulm w

epsiul_L=5.9673;
w_D=2113.6*2*pi*1e12;
r_D=15.92*2*pi*1e12;
omigal_L=650.07*2*pi*1e12;
T_L=104.86*2*pi*1e12;
deltepsiul=1.09;
c=3*1E8;
epsiul_0=(1/(36*pi))*1e-9;
Lambda=1.55e-6;

[epsiulm,w]= solve('epsiulm-epsiul_L-w_D^2/(w*(w+i*r_D))-deltepsiul*omigal_L^2/((w^2-omigal_L^2)+i*T_L*w)=0','(w*Lambda/(2*pi*c))^2-real(epsiulm)/epsiul_0=0');

n_gold=sqrt(epsiulm/epsiul_0);

不用函数其实应该是这样子的。但是出来的结果总是还包含epsiulm。本来结果应该直接就是一个数值的
岸芷汀兰,郁郁青青
4楼2013-06-21 11:15:56
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

兵封年代

木虫 (小有名气)

【答案】应助回帖

引用回帖:
4楼: Originally posted by susulucky at 2013-06-21 11:15:56
syms epsiulm w

epsiul_L=5.9673;
w_D=2113.6*2*pi*1e12;
r_D=15.92*2*pi*1e12;
omigal_L=650.07*2*pi*1e12;
T_L=104.86*2*pi*1e12;
deltepsiul=1.09;
c=3*1E8;
epsiul_0=(1/(36*pi))*1e-9;
Lambda=1.5 ...

我说的意思是solve函数没有这种用法,它的返回参数至多只有一个。
5楼2013-06-21 15:55:58
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 susulucky 的主题更新
信息提示
请填处理意见