24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2293  |  回复: 6

小刘8885

木虫 (正式写手)

[求助] Matalab 程序调试

下述程序运行出错,求高手指点。这是一个M文件。

function f4=func_main(name,a,q1,q2,x2,flag)
% flag=0 represent complex permittivity
% flag=1 represent complex permeability
data=load(name);
xf=data(:,1);
if (flag==0)
    y1=data(:,2)+data(:,3)*i;
elseif (flag==1)
    y1=data(:,4)+data(:,5)*i;
else
    disp('0 is complex perimittivity, 1 is complex permeability');
    return;
end

x11=func1(a,q1,y1,x2);  
%调用函数func1,求解x1
%Hanai formula 的求解结果 %求解的是x1,为绝对介电常数
x1=x11;
a=real(x1);
b=imag(x1);
c=[a,b];

x0=zeros(length(data),1);
F=fsolve(@(y2)func2(a,q2,x1,x2,y2),x0);
%调用前述func1所求得的x1,代入函数func2
%求解超越方程的y2值。
f4=F;
r = [real(f4), imag(f4)];

plotyy(xf,a,xf,b);
save('data1.txt', 'c', '-ascii');
save('data2.txt', 'r', '-ascii');

function x1=func1(a,q1,y1,x2)
x1=(q1.*x2-x2+y1.*(x2./y1).^a)./(q1+(x2./y1).^a-1);
%求解x1

function F=func2(a,q2,x1,x2,y2)
F=(((1-q2)*(x2-x1))./(x2^a)).*(y2.^a)-y2+x1;
%求解y2



另外的调用代码如下:

% Exop4
clear up;
clc;

a=1/3;
q1=0.06;
q2=0.107;
x2=3.7+0.703*i;
flag=0;
func_main('3.txt',a,q1,q2,x2,flag);
复制到command窗口就可以运行。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : func_main.m
  • 2012-05-27 11:38:14, 945 bytes
  • 附件 2 : 3.txt
  • 2012-05-27 11:38:25, 3.1 K
  • 附件 3 : Exop4.m
  • 2012-05-27 11:39:11, 119 bytes

» 猜你喜欢

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

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

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
F里的x2^a应该点乘吧?有什么问题出什么错也不说,有几个能帮你
showmethemoney
2楼2012-05-28 09:10:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
小刘8885: 金币+1, 有帮助 2012-05-29 10:09:49
plotyy(xf,a,xf,b);这句不对吧!!!
3楼2012-05-28 13:11:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小刘8885

木虫 (正式写手)

引用回帖:
2楼: Originally posted by csgt0 at 2012-05-28 09:10:18
F里的x2^a应该点乘吧?有什么问题出什么错也不说,有几个能帮你

您可以帮我看看,改正点乘之后,运行之后显示下面的错误:
Error using trustnleqn (line 28)
Objective function is returning undefined values at initial point. FSOLVE cannot continue.

Error in fsolve (line 399)
    [x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData]=...

Error in func_main (line 27)
F=fsolve(@(y2)func2(a,q2,x1,x2,y2),x0);
4楼2012-05-28 18:43:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小刘8885

木虫 (正式写手)

引用回帖:
3楼: Originally posted by lijie169 at 2012-05-28 13:11:52
plotyy(xf,a,xf,b);这句不对吧!!!

这句语句就是画一个双y轴的的图,好像没有错啊。
function f4=func_main(name,a,q1,q2,X,flag)
% flag=0 represent complex permittivity
% flag=1 represent complex permeability
data=load(name);
xf=data(:,1);
x2=X*ones(length(data),1);
if (flag==0)
    y1=data(:,2)+data(:,3)*i;
   
elseif (flag==1)
    y1=data(:,4)+data(:,5)*i;
else
    disp('0 is complex perimittivity, 1 is complex permeability');
    return;
end

x11=func1(a,q1,y1,x2);  
%调用函数func1,求解x1
%Hanai formula 的求解结果 %求解的是x1,为绝对介电常数
x1=x11;
a=real(x1);
b=imag(x1);
c=[a,b];
plotyy(xf,a,xf,b);

x0=zeros(length(data),1);
F=fsolve(@(y2)func2(a,q2,x1,x2,y2),x0);
%调用前述func1所求得的x1,代入函数func2
%求解超越方程的y2值。
f4=F;
r = [real(f4), imag(f4)];


save('data1.txt', 'c', '-ascii');
save('data2.txt', 'r', '-ascii');

function x1=func1(a,q1,y1,x2)
x1=(q1.*x2-x2+y1.*(x2./y1).^a)./(q1+(x2./y1).^a-1);
%求解x1

function F=func2(a,q2,x1,x2,y2)
F=(((1-q2)*(x2-x1))./(x2.^a)).*(y2.^a)-y2+x1;
%求解y2

我把 plotyy(xf,a,xf,b); 这一语句提到前面去是可以执行的,还画出了图。运行之后提示我问题出在 fsolve 那个语句。
5楼2012-05-28 18:46:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小刘8885: 金币+29, ★★★★★最佳答案, 果然是牛人,大才。 2012-05-29 10:09:20
x0=zeros(length(data),1);
改成x0=ones(length(data),1);
如果x0=0,y2=0,F2就无穷大了所以报错

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

showmethemoney
6楼2012-05-29 09:21:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小刘8885

木虫 (正式写手)

送鲜花一朵
引用回帖:
6楼: Originally posted by csgt0 at 2012-05-29 09:21:27
x0=zeros(length(data),1);
改成x0=ones(length(data),1);
如果x0=0,y2=0,F2就无穷大了所以报错

果然犀利,被你点中了。问题解决了,谢谢!
7楼2012-05-29 10:05:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小刘8885 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 广东省 085601 329分求调剂 +13 Eddieddd 2026-04-10 13/650 2026-04-10 23:27 by 314126402
[考研] 289 分105500药学专硕求调剂(找B区学校) +6 白云123456789 2026-04-09 8/400 2026-04-10 21:13 by zhouxiaoyu
[考研] 071000生物学调剂求助 +17 zzzzwww 2026-04-09 20/1000 2026-04-10 15:55 by 求调剂zz
[考研] 292求调剂 +9 笑笑袁 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[考研] 269电子信息求调剂,可转专业 +9 独酌wl 2026-04-06 9/450 2026-04-09 20:55 by laoshidan
[考研] 085400 328分 求调剂 +8 喂你一个大橙子 2026-04-09 12/600 2026-04-09 19:20 by zl8213662
[考研] 305求调剂 +4 77Qi 2026-04-07 4/200 2026-04-09 17:27 by wp06
[考研] 322求调剂,08工科 +3 今天是个小号 2026-04-08 3/150 2026-04-09 15:53 by wp06
[考研] 085501机械专硕 302分 不挑专业求调剂 +5 汪某. 2026-04-09 5/250 2026-04-09 15:38 by 蒋皓禹
[硕博家园] 新一代电子信息294求调剂 不挑学校 +5 Ytyt11 2026-04-09 6/300 2026-04-09 14:40 by Ytyt11
[考研] 一志愿985初试354分生物调剂 +3 031001 2026-04-06 3/150 2026-04-09 00:30 by Evan_Liu
[考研] 22408 调剂材料 +7 我叫ez 2026-04-06 8/400 2026-04-07 17:12 by 蓝云思雨
[考研] 软工学硕299求调剂 +6 useryy 2026-04-07 6/300 2026-04-07 09:50 by vgtyfty
[考研] 285求调剂 +5 mapmath 2026-04-06 6/300 2026-04-06 17:18 by 蓝云思雨
[考研] 085600,320分求调剂 +16 大馋小子 2026-04-04 17/850 2026-04-06 07:58 by MOF_Catal
[考研] 327求调剂 +4 拾光任染 2026-04-05 4/200 2026-04-05 20:16 by 南航~万老师
[考研] 22408 总分320,一篇论文二作,两个国三,求调剂 +3 Leomulufu 2026-04-04 5/250 2026-04-05 19:04 by chongya
[考研] 一志愿北交大材料工程总分358求调剂 +6 cs0106 2026-04-05 6/300 2026-04-05 16:34 by imissbao
[考研] 328分调剂 +6 门men 2026-04-04 6/300 2026-04-05 13:40 by imissbao
[考研] 309求调剂 +4 快乐的小白鸽 2026-04-04 5/250 2026-04-04 15:55 by cql1109
信息提示
请填处理意见