24小时热门版块排行榜    

查看: 4319  |  回复: 10

duguwuhao

新虫 (小有名气)

[求助] 求助matlab for循环中的赋值问题。 已有2人参与

dm=0.001*2*pi*c;
    w=-0.5*2*pi*c:dm:0.5*2*pi*c;
    Kx=zeros(size(w));
    Ay=zeros(size(w));
for m=1:length(w);
    syms ay kx ky;
    y=(0.0382*8*(pi^3)*(c^4)*sqrt(ainf-(wp.^2)./(w.^2)))./((wp^2).*w);
    axx=ainf*((1-(wp*(w+1i*y)*wp))./(w.*(((w+1i*y).^2)-((wc)^2))));   %无单位
    axy=ainf*(((wp^2)*wc*1i)./(w.*(((w+y*1i).^2)-((wc)^2))));   %无单位
    azz=ainf.*((1-(wp^2))./(w.*(w+1i*y)));   %无单位
    a1=real(axx);
    a2=imag(axx);
    a3=real(axy);
    a4=imag(axy);
    a5=real(azz);
    a6=imag(azz);
    f1=ay-sqrt((kx.^2)-((w./c).^2));
    f2=kx-((sqrt(((a4.*ay./2).^2))+(a1.*(w./c).^2)-((a1.*ay.*ky)./(tan(ky.*t))))-(a4.*ay./2));
    f3=ky-(sqrt((((w./c).^2).*(a1-((a4.^2)./a1)))-kx.^2));
    [kx,ay]=solve('f1','f2','f3');
    Kx(m)=kx;
    Ay(m)=Ay;
end


运行提示:在赋值 A( = B 中,A 和 B 中的元素数目必须相同。
出错行数:    Kx(m)=kx;
    Ay(m)=Ay;

跪求大神解惑。。。
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

duguwuhao

新虫 (小有名气)

那个笑脸不是我卖萌啊。。。。我也不知道怎么出现的。。。。。。
2楼2016-09-16 13:07:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guokeqin

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
solve函数,不能计算点乘,建议你采用solve函数计算出来函数关系式,然后手动输入方程再操作

发自小木虫Android客户端
6楼2016-09-17 06:57:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

duguwuhao

新虫 (小有名气)

修改了一下,将w改成w(m),还是出错貌似,是我solve的问题。没有得出数值解

发自小木虫Android客户端
3楼2016-09-16 14:43:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duguwuhao

新虫 (小有名气)

我检查了下,程序,貌似是slove语句的问题,单独拿出来,程序出现警报:警告: Cannot solve symbolically. Returning a numeric approximation instead. 跪求大神解决
4楼2016-09-16 15:38:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
https://www.mathworks.com/help/symbolic/solve.html

Return Numeric Solutions
Try solving the following equation. The symbolic solver cannot find an exact symbolic solution for this equation,
and therefore issues a warning before calling the numeric solver. Because the equation is not polynomial, an
attempt to find all possible solutions can take a long time. The numeric solver does not try to find all numeric
solutions for this equation. Instead, it returns only the first solution it finds.
5楼2016-09-16 21:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duguwuhao

新虫 (小有名气)

引用回帖:
6楼: Originally posted by guokeqin at 2016-09-17 06:57:58
solve函数,不能计算点乘,建议你采用solve函数计算出来函数关系式,然后手动输入方程再操作

我把点乘去掉显示:
在赋值 A( = B 中,A 和 B 中的元素数目必须相同。
我重新编了一下solve的公式:
kx=solve(tan(t*(((sqrt(((w(m)/c)^2)*(a1-((a4^2)/a1)))))-(kx^2)))==(a1*sqrt(((w(m)/c)^2)*(a1-((a4^2)/a1))-(kx^2))*sqrt((kx^2)-((w(m)/c)^2)))/((a1*((w(m)/c)^2))-(kx^2)-(a4*kx*sqrt((kx^2)-((w(m)/c)^2)))),kx);
但是在kx赋值到Kx的时候出现错误,另外,solve语句单独拿出来进行计算的时候会出现警告:
警告: Cannot solve symbolically. Returning a numeric approximation instead. 这个时候我能输出kx。很疑惑。
7楼2016-09-17 22:28:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duguwuhao

新虫 (小有名气)

引用回帖:
5楼: Originally posted by FMStation at 2016-09-16 21:56:31
https://www.mathworks.com/help/symbolic/solve.html

Return Numeric Solutions
Try solving the following equation. The symbolic solver cannot find an exact symbolic solution for this equation,
and ...

大神,这个我了解了,所以尝试把solve语句修改了一下,单独计算kx=solve(tan(t*(((sqrt(((w/c)^2)*(a1-((a4^2)/a1)))))-(kx^2)))==(a1*sqrt(((w/c)^2)*(a1-((a4^2)/a1))-(kx^2))*sqrt((kx^2)-((w/c)^2)))/((a1*((w/c)^2))-(kx^2)-(a4*kx*sqrt((kx^2)-((w/c)^2)))),kx);时,现出现警告:
警告: Cannot solve symbolically. Returning a numeric approximation instead.
这个时候能输出kx的数值解,所以我就比较疑惑为什么有数值解还不能赋值成功。。。
8楼2016-09-17 22:31:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duguwuhao

新虫 (小有名气)

我把方程组进行处理,整理成一个公式进行计算,代码如下:
clear;
clc;
a0=8.85*1e-12;    %c2/m2N
ainf=12.37;   %极限高频相对介电常数 无单位
%y=pi*1e11;   %衰减频率 hz
B=3;   %磁场强度 T或kg/As2
%T=185;   %温度 K
t=1.361*1e-6;  %厚度 m
e=1.6*1e-19;   %单位电荷量 C
me=9.11*1e-31;   %电子质量 kg
m=0.033*me;   %载流子质量 kg
N=8*1e23;
c=3e8;
%N=(5.76*1e20)*(T^1.5)*exp(-(0.13/((8.625*1e-5)*T)));   %载流子浓度 m-3  此处的0.0151为KB*T KB为玻尔兹曼常数8.625e-5 eV/K,所以0.0151单位为eV
wc=e*B/m;   %回旋频率 rad/s
wp=sqrt(N*(e^2)/(a0*m));   %等离子频率 rad/s
%w=0:pi*2*(2*(1e12))/1000:pi*2*2*(1e12);   %定义频率范围 rad/s
%w=1.21*2*pi*1e12;
dm=0.0001*2*pi*c;
    w=0.4*2*pi*c:dm:0.5*2*pi*c;
    Kx=zeros(size(w));
    Ay=zeros(size(w));
for m=1:length(w);
    syms kx;
    y=(0.0382*8*(pi^3)*(c^4)*sqrt(ainf-(wp.^2)./(w(m).^2)))./((wp^2).*w(m));
    axx=ainf*((1-(wp*(w(m)+1i*y)*wp))./(w(m).*(((w(m)+1i*y).^2)-((wc)^2))));   %无单位
    axy=ainf*(((wp^2)*wc*1i)./(w(m).*(((w(m)+y*1i).^2)-((wc)^2))));   %无单位
    azz=ainf.*((1-(wp^2))./(w(m).*(w(m)+1i*y)));   %无单位
    a1=real(axx);
    a2=imag(axx);
    a3=real(axy);
    a4=imag(axy);
    a5=real(azz);
    a6=imag(azz);
    kx=solve(tan(t*(((sqrt(((w(m)/c)^2)*(a1-((a4^2)/a1)))))-(kx^2)))==(a1*sqrt(((w(m)/c)^2)*(a1-((a4^2)/a1))-(kx^2))*sqrt((kx^2)-((w(m)/c)^2)))/((a1*((w(m)/c)^2))-(kx^2)-(a4*kx*sqrt((kx^2)-((w(m)/c)^2)))),kx);
    A=char(kx);
    Kx(m)=A;
end
显示:
在赋值 A( = B 中,A 和 B 中的元素数目必须相同。

出错 yanzheng (line 38)
    Kx(m)=A;
。。。。。
9楼2016-09-17 22:34:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

czcdxmc

木虫 (正式写手)

MEMS小学生

引用回帖:
4楼: Originally posted by duguwuhao at 2016-09-16 15:38:26
我检查了下,程序,貌似是slove语句的问题,单独拿出来,程序出现警报:警告: Cannot solve symbolically. Returning a numeric approximation instead. 跪求大神解决

警告已说明错误原因。

发自小木虫Android客户端
学海无涯,回头是岸。
10楼2016-09-18 08:17:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duguwuhao 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 301求调剂 +10 yy要上岸呀 2026-03-17 10/500 2026-03-21 03:14 by JourneyLucky
[考研] 初始318分求调剂(有工作经验) +3 1911236844 2026-03-17 3/150 2026-03-21 02:33 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 279分求调剂 一志愿211 +11 chaojifeixia 2026-03-19 12/600 2026-03-21 01:49 by 星空星月
[考研] 085700资源与环境308求调剂 +12 墨墨漠 2026-03-18 13/650 2026-03-21 01:42 by JourneyLucky
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +4 葵梓卫队 2026-03-18 6/300 2026-03-20 23:02 by JourneyLucky
[考研] 324求调剂 +5 lucky呀呀呀鸭 2026-03-20 5/250 2026-03-20 22:30 by 促天成
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[论文投稿] 申请回稿延期一个月,编辑同意了。但系统上的时间没变,给编辑又写邮件了,没回复 10+3 wangf9518 2026-03-17 4/200 2026-03-19 23:55 by babero
[考研] 081700化工学硕调剂 +3 【1】 2026-03-16 3/150 2026-03-19 23:40 by edmund7
[考研] 一志愿福大288有机化学,求调剂 +3 小木虫200408204 2026-03-18 3/150 2026-03-19 13:31 by houyaoxu
[考研] 268求调剂 +8 一定有学上- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 302求调剂 +4 小贾同学123 2026-03-15 8/400 2026-03-17 10:33 by 小贾同学123
[论文投稿] 有没有大佬发小论文能带我个二作 +3 增锐漏人 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] 304求调剂 +4 ahbd 2026-03-14 4/200 2026-03-16 16:48 by 我的船我的海
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
信息提示
请填处理意见