24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 2310  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿西南大学生物学学硕344 求生物学相关调剂/生物与医药 +8 超人不会飞@ 2026-04-08 8/400 2026-04-14 16:06 by zs92450
[考研] 279求调剂 +12 张番茄不炒蛋 2026-04-11 12/600 2026-04-14 15:38 by zs92450
[考研] 085801电气专硕272求调剂 +14 电气李 2026-04-13 15/750 2026-04-14 14:58 by 逆水乘风
[考研] 机械工程313分找工科调剂 +4 双一流本科机械 2026-04-08 4/200 2026-04-14 07:32 by Abskk
[考研] 22专硕求调剂 +8 haoyun上岸 2026-04-11 10/500 2026-04-13 22:15 by zhq0425
[考研] 一志愿厦大生物学332求调剂 +11 池池池池池池 2026-04-08 11/550 2026-04-13 14:10 by 科研论
[考研] 339求调剂 +4 hanwudada 2026-04-12 4/200 2026-04-13 12:03 by 蓝云思雨
[考研] 2本,初试303,0860求调剂 +6 floriea 2026-04-12 8/400 2026-04-12 18:13 by zhouxiaoyu
[考研] 307求调剂 +10 tzq94092 2026-04-10 10/500 2026-04-12 08:18 by wise999
[考研] 0860004 求调剂 309分 +9 Yin DY 2026-04-08 9/450 2026-04-11 22:55 by dongdian1
[考研] 求调剂 +3 胃痉挛累了 2026-04-11 5/250 2026-04-11 14:13 by luhong1990
[考研] 0854调剂 +5 音像店听花鼓戏 2026-04-10 5/250 2026-04-11 10:49 by qingpingzhu
[考研] 中药学调剂 初试324 +4 洋甘菊、 2026-04-10 6/300 2026-04-11 09:41 by gong120082
[考研] 337求调剂 +4 研s. 2026-04-10 4/200 2026-04-11 08:57 by zhq0425
[考研] 085506-求调剂-285分 +3 雷欧飞踢 2026-04-08 3/150 2026-04-11 08:37 by zhq0425
[考研] 301求调剂 +5 149. 2026-04-10 5/250 2026-04-10 15:45 by 柴小白
[考研] 求调剂 材料与工程 324分 专硕 +19 翩翩一书生 2026-04-10 21/1050 2026-04-10 11:41 by wp06
[考研] 江苏大学 工科调剂 捡漏 +3 Evan_Liu 2026-04-09 5/250 2026-04-10 10:22 by Evan_Liu
[考研] 348求调剂 +3 candyyyi 2026-04-09 3/150 2026-04-09 17:20 by 段伟艳
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
信息提示
请填处理意见