matlab fsolve函数 Not enough input arguments?

请问怎么用matlab的fsolve函数怎么求解这个方程呢?_百度知道
请问怎么用matlab的fsolve函数怎么求解这个方程呢?
方程如下:(2*r - (0453*cos((pi*(a + 72))/180))/5248)/(4*(r^2 - (0453*cos((pi*(a + 72))/180)*r)/5248 + 8)^(1/2)) - (2*r - (0453*cos((pi*(a - 72))/180))/5248)/(4*(r^2 - (0453*cos((pi*(a - 72))/180)*r)/5248 + 8)^(1/2)) - (2*sin((pi*(a - 6))/180) - 2*r + (0453*sin((pi*(a + 6))/180))/5248)/(2*(r^2 - (0453*r*sin((pi*(a + 6))/180))/5248 - 2*r*sin((pi*(a - 6))/180) + 98)^(1/2)) - (2*r - (0453*cos((pi*(a - 144))/180))/5248)/(4*(r^2 - (0453*cos((pi*(a - 144))/180)*r)/5248 + 8)^(1/2)) - (2*r - (0453*cos((pi*(a + 144))/180))/5248)/(4*(r^2 - (0453*cos((pi*(a + 144))/180)*r)/5248 + 8)^(1/2)) - (2*r - (0453*cos((pi*a)/180))/5248)/(4*(r^2 - (0453*cos((pi*a)/180)*r)/5248 + 8)^(1/2))=0;其中r是自变量,a是一个已知变量。我希望得到的结果里面r是由a和其他常数表示的。求大神解答。高分求解答。如果不用fsolve函数解决的也可以,求助
我有更好的答案
按默认排序
满满的字,看着就怕。。。(1)先将你的算式中的r用x(1)代替,a用x(2)代替。然后在前面加上f=@(x)并去掉后面的=0(2)根据你的几何意义,找出一个满足你要求的可能点,比如r=1,a=0(或你的初始条件)(在全域可能具有无穷多解。给出初始点后,fslove将在这个点附近找满足方程的最近的一个解)(3)运行fsolve(f,[1,0]),其中[1,0]为我找的初始条件,要按照[r,a]格式的都可以全部程序如下f=@(x)(2.*x(1) - (0453.*cos((pi.*(x(2) + 72))./180))./5248)./(4.*(x(1).^2 - (0453.*cos((pi.*(x(2) + 72))./180).*x(1))./5248 + ).^(1./2)) - (2.*x(1) - (0453.*cos((pi.*(x(2) - 72))./180))./5248)./(4.*(x(1).^2 - (0453.*cos((pi.*(x(2) - 72))./180).*x(1))./5248 + ).^(1./2)) - (2.*sin((pi.*(x(2) - 6))./180) - 2.*x(1) + (0453.*sin((pi.*(x(2) + 6))./180))./5248)./(2.*(x(1).^2 - (0453.*x(1).*sin((pi.*(x(2) + 6))./180))./5248 - 2.*x(1).*sin((pi.*(x(2) - 6))./180) + 9).^(1./2)) - (2.*x(1) - (0453.*cos((pi.*(x(2) - 144))./180))./5248)./(4.*(x(1).^2 - (0453.*cos((pi.*(x(2) - 144))./180).*x(1))./5248 + ).^(1./2)) - (2.*x(1) - (0453.*cos((pi.*(x(2) + 144))./180))./5248)./(4.*(x(1).^2 - (0453.*cos((pi.*(x(2) + 144))./180).*x(1))./5248 + ).^(1./2)) - (2.*x(1) - (0453.*cos((pi.*x(2))./180))./5248)./(4.*(x(1).^2 - (0453.*cos((pi.*x(2))./180).*x(1))./5248 + ).^(1./2));x0=fsolve(f,[1,0]);x0为解
其他类似问题
fsolve的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Matlab:not enough input argument_百度知道
Matlab:not enough input argument
function [ X1,X2 ] = quadform( A,B,C )%Implementation of the quadratic formula%
Here A,B and C can be matrices
tmp = sqrt(B.^2 - 4*A.*C);
X1 = (-B + tmp)./(2*A);
X2 = (-B - tmp)./(2*A);end在command window里输入[X1,X2]=quadform(1,10,3)可以计算可是如果直接点run会Error using quadform (line 4)Not enough input arguments.估计是没有赋值导致的 如何在点run的情况下运行呢?
提问者采纳
这个函数需要有输入参数才能运行,而直接点Run则没有提供输入参数,自然会报错。当然,可以判断函数运行时有没有足够的输入参数,如果没有,提供一组默认参数,使得程序能够运行,但这样做的意义不是太大。&如果确实希望实现这样的功能,可以把函数改成:function [ X1,X2 ] = quadform( A,B,C )%Implementation of the quadratic formula%&& Here A,B and C can be matricesif nargin~=3&&& disp('输入参数个数不正确。');&&& disp('函数需要提供3个输入参数,例如:[X1,X2]=quadform(1,10,3)');&&& disp('下面将以上述参数作为默认值演示程序的功能:');&&& [x1,x2]=quadform(1,10,3)&&& returnendtmp = sqrt(B.^2 - 4*A.*C);X1 = (-B + tmp)./(2*A);X2 = (-B - tmp)./(2*A);end
提问者评价
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁matlab画功率谱的问题,出现Not enough input arguments._百度知道
matlab画功率谱的问题,出现Not enough input arguments.
matlab中help psd有下面的例子:Fs = 1000;
t = 0:1/Fs:.296;
x = cos(2*pi*t*200)+randn(size(t));
h = spectrum.
% Create a Welch spectral estimator.
psd(h,x,'Fs',Fs);
% Calculate and plot the one-sided PSD.
hpsd = psd(h,x,'ConfLevel',.98);
% PSD with confidence level
figure,plot(hpsd)不知道那个hpsd到底是想表达什么置信度?而且我把程序改为Fs = 1000;
t = 0:1/Fs:.296;
x = cos(2*pi*t*200)+randn(size(t));
h = spectrum.
% Create a Welch spectral estimator.
psd(h,x,'Fs',Fs);
% Calculate and plot the one-sided PSD.
figure,plot(psd)就根本出不来图了,还出现说是Not enough input arguments的错误。请高手来帮个忙吧!感激不尽啊!回答完还会有加分哦!
提问者采纳
Fs&=&1000;&&&t&=&0:1/Fs:.296;x&=&cos(2*pi*t*200)+randn(size(t));&&h&=&spectrum.&&&&&&&&&&&&&&&&psd(h,x,'Fs',Fs);&&&&&&&&直接这样就可以了,psd就是功率谱估计。至于置信水平:Pr(c1&=μ&=c2)=1-α&&&α是显著性水平(例:0.05或0.10)&&&100%*(1-α)指置信水平(例:95%或90%)&&&表达方式:interval(c1,c2)——置信区间
提问者评价
真是谢谢你啦~~帮我解决啦·~~不过我想问·~为什么不用写figure和plot就能画出来图啊~嘿嘿~再帮我一下吧~
其他类似问题
功率谱的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁帮我看下这个Matlab编程哪错了,一直显示Not enough input arguments._百度知道
帮我看下这个Matlab编程哪错了,一直显示Not enough input arguments.
function di=sis2(t,i)a=2;b=5;di=[-a.*i(1).*(i(2)-(1-1/b)),-a.*i(2).*(i(2)-(1-1/b))];ts=0:100;i0=[0.3,0.9];[t,i]=ode45('sis2',ts,i0);plot(t,i(:,1),t,i(:,2),'-.g',t,1/2,'-.r'),gridxlabel('t')ylabel('i')
看看这个程序函数main()的%的主要思想是选择从两个图像信息,然后炒成一个单一的形象。 %这可以从多个被加密(2 * n个)图像,按照上述思路,获得图像的一半的数量(n个)。 %隐藏图像所获得的自适应算法中,并能获得(N-1)个图像。 %有关第(n-1)图像Arnold变换件,(N-1)作为关键件的图像,此外,还有迭代的密钥号,扰码规则,阿诺德加密规则 %阿诺德的主要缺点是较大的周期,在程序运行的时间很长,我的电脑需要8分钟,此外,阿诺德能够处理方阵%图像置乱加密算法很多这样的程序中使用的扰码加密算法只有一个办法只有提出的想法多图像加密,也可以后期做了很多工作。
%阅读四个图像 F1 = imread('lena.gif');
F2 = imread('monkey.gif');
F3 = imread('house.gif');
F4 = imread('cameraman.gif');图像争先恐后 pic1_zhiluan = zhiluan(F1,F2)的%;
pic2_zhiluan = zhiluan(F3,F4);
%的显示失真的图像 pic1_zhiluan = UINT8(pic1_zhiluan); 身影,imshow(pic1_zhiluan),标题(“PIC1 zhiluan”)的 pic2_zhiluan = UINT8(pic2_zhiluan); 身影,imshow(pic2_zhiluan),标题(“PIC2 zhiluan”),点击看详细%两个炒图像隐藏 X1 =输入('请输入一个混合迭代参数:');
pic1_hide =隐藏(pic1_zhiluan,X1,pic2_zhiluan);图像被隐藏Arnold置乱加密 diedai1 =输入('输入一个迭代的参数:')后 % pic1_jiami =阿诺德(pic1_hide,diedai1,0);
%显示加密图像 pic1_jiami = UINT8(pic1_jiami); 身影,imshow(pic1_jiami),标题(“PIC1佳米')的 diedai2 =输入('请输入一个迭代的参数:') pic2_jiami =阿诺德(pic2_zhiluan,diedai2,0);
pic2_jiami = UINT8(pic2_jiami); 身影,imshow(pic2_jiami),标题(“PIC2佳米')的%解密图像 pic1_jiemi =阿诺德(pic1_jiami,diedai1,1);
pic2_jiemi =阿诺德(pic2_jiami,diedai2,1);隐藏图像 pic1_huifu =惠福(pic1_jiemi,X1,pic2_jiemi)后 %的回收率;
%争先恐后逆过程,恢复后[image1的,IMAGE2] = ni_zhiluan(pic1_huifu)获得的图像;
[一系列其他,为image4] = ni_zhiluan(pic2_jiemi);
%显示每个图像 F1 = UINT8(F1); 身影,imshow(F1),标题('F1'); 身影,imhist(F1),标题(“F1直方图');
image1的= UINT8(image1的); 身影,imshow(image1的),标题('image1的'); 身影,imhist(image1的),标题('image1的直方图');
F2 = UINT8(F2); 身影,imshow(F2),标题('F2'); 身影,imhist(F2),标题(“F2的直方图');
IMAGE2 = UINT8(IMAGE2); 身影,imshow(IMAGE2),标题(“IMAGE2'); 身影,imhist(IMAGE2),标题(“直方图IMAGE2');
F3 = UINT8(F3); 身影,imshow(F3),标题('F3'); 身影,imhist(F3),标题(“F3的直方图');
一系列其他= UINT8(一系列其他); 身影,imshow(一系列其他),标题(“一系列其他'); 身影,imhist(一系列其他),标题(“直方图的一系列其他');
F4 = UINT8(F4); 身影,imshow(F4),标题('F4'); 身影,imhist(F4),标题(“F4的直方图');
为image4 = UINT8(为image4); 身影,imshow(为image4),标题(“为image4'); 身影,imhist(为image4),标题(“为image4直方图”
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁matlab 中fsolve 如何设置 大型复杂的算法 ?_百度知道
matlab 中fsolve 如何设置 大型复杂的算法 ?
用默认的fsolve中型算法不能求解出来
提问者采纳
在调用fsolve之前添加语句options = optimset('LargeScale',on),同时fsolve里保留options项
其他类似问题
按默认排序
其他1条回答
楼主去凡窝电脑技术论坛看看吧那里的技术教程很多的涉及很多方面的网络技术·有机会多去那看看教程吧
fsolve的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 matlab fsolve用法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信