我如何解决“太多的输入参数”的错误吗?

1047(30天)
亨利
亨利 2014年7月8日
评论道: 沃尔特·罗伯森 2023年6月11日在一句话
大家好!
我面对,我想一个经典的错误。当我运行下面的代码
清晰的所有;关闭所有;clc;
U = 400.0;
S = 150000;
锌= (U ^ 2) / S;
φ=这些“可信赖医疗组织”(0.8);
P = * cos(φ);
Xd = 3.17 *锌;
Xq = 1.9 *锌;
信谊δ;
季= (U * U / Xd) * sin(δ)+ ((U * * (Xd-Xq)) / (2 * Xd * Xq)) *罪(2 *δ)- p;
δ=(180 /π)*解决(季,δ)
我得到一个很长的表达式与数字的数字解决方案不能被给予,因为“太多的输入参数错误”的一个:函数。我试图使用eval函数和潜艇func。潜艇func工作但我似乎没有得到相同的结果,当我使用它时关于我计算结果部分分部(这是一个方法来解决这个问题,但我想编码)。
我在网上看过,没找到任何回答我的问题所以请如果你知道. .提前谢谢你。
1评论
何塞•路易斯•
何塞•路易斯• 2014年7月8日
错误消息是不言自明的:你比预计更多的参数传递给一个函数。
对你最有效的方法来解决,是使用调试器。停止函数调用之前,看看你传递。否则,这里的人们只能猜测:也许不合时宜的逗号吗?

登录置评。

答案(9)

尼古拉斯Dureault
尼古拉斯Dureault 2017年4月20日
那天我遇到了这个问题,原来我有其他路径添加相同的文件名。我花了大约一个小时来回检查的事情,最后仔细审视调试器数据告诉我它被来自另一个目录-啊。
希望这不是你的问题,但它可以是:)
7评论

登录置评。


罗杰·斯塔福德
罗杰·斯塔福德 2014年7月8日
这个解决方案很容易表达的四次方程的罪(δ)可以给你多达四个可能的解决方案之间的δ-π和+π。金宝搏官方网站因此你可以解决数值使用适当的“根”和“最佳”。没有必要使用“解决”。
1评论
罗杰·斯塔福德
罗杰·斯塔福德 2014年7月8日
进一步节省你的痛苦在你的问题,亨利,我使用“根”在四次我描述你定义的参数,发现它没有实值的根源。可以很容易地说明你可以同“解决”的意想不到的结果。所有的结果,如果它得到任何,一定会复值。

登录置评。


简沉重的一击
简沉重的一击 2017年5月24日
你好,
我新matlab和我一直面临一个错误消息说“太多的输入参数”当我试着从现有的数据集提取时代。
是否有办法解决这个问题吗?
谢谢你!
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年4月23日
(exp (-0.5) 5 * exp (1)) / (3 ^ 5-exp (2))

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2017年5月24日
永远不要eval()符号表达式。符号表达式是 用MATLAB编写:MuPAD都写,不是 相当 MATLAB是一样的。
的差异与双参数反正切的方式表达。在MuPAD,单参数和双参数反正切反正切使用相同的函数调用,但在MATLAB,双参数的反正切是一个单独的调用,量化()
顺便说一下,在R2017aδ将出来
(日志(根(z ^ 4 + (541951709274448 * z ^ 3) / 181125965994355 - (z ^ 2 * 549755813888000) / 36225193198871 - (541951709274448 * z) / 36225193198871 - 1, z, 1)) * 1007958012753983 i) / 17592186044416
没有涉及到弧相切。如果你vpa(),那么结果是复杂的。

Komal Khandare
Komal Khandare 2018年6月6日
编辑:沃尔特·罗伯森 2018年6月6日
你好,
我新matlab和我一直面临一个错误消息说“太多的输入参数”。
这个代码
i = 1:10
writeDigitalPin (,“这里”,0);
暂停(0.5);
writeDigitalPin (,“这里”1);
暂停(0.5);
结束
是否有办法解决这个问题吗?
谢谢你!
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年6月6日
没有明显的。出现什么
哪一个——writeDigitalPin

登录置评。


vaya putra
vaya putra 2018年7月2日
编辑:沃尔特·罗伯森 2018年7月2日
(T) rho_r。* (1 - (((T - 273) -3.9863)。^ 2/508929.2)。* ((((T - 273) + 288.9414)。/ ((T - 273) + 68.12963))))
许多输入参数。
任何人都可以帮我
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年7月2日
有@之前所有的吗?
所调用的函数吗?错误消息表明,你想叫它有两个参数。
例如如果你有
有趣= @ (T) rho_r。* (1 - (((T - 273) -3.9863)。^ 2/508929.2)。* ((((T - 273) + 288.9414)。/ ((T - 273) + 68.12963))))
数值(乐趣、tspan x0)
然后你就可以得到这个错误,因为ode *()例程总是将至少两个参数传递给函数:当前时间,当前边界条件(通常写成@ (t, x)或@ (t, y))。如果你试图使用上面的数值需要
有趣= @ (T, x) rho_r。* (1 - (((T - 273) -3.9863)。^ 2/508929.2)。* ((((T - 273) + 288.9414)。/ ((T - 273) + 68.12963))))
有趣= @ (t, t) rho_r。* (1 - (((t - 273) -3.9863)。^ 2/508929.2)。* ((((t - 273) + 288.9414)。/ ((t - 273) + 68.12963))))

登录置评。


Saranya Kumaraswamy
Saranya Kumaraswamy 2021年4月28日
编辑:Saranya Kumaraswamy 2021年4月28日
函数就要= ex8ode01 (y)
P = 0.7;
就要= 0 (6,1);
它们(3)= ((2)^ 2 - y (1) * y (3));
它们(5)y = - y (1) * (5) - 1;
它们(7)= - p * y (1) * y (7);
结束
这是我的代码先生。有错误的错误使用ex8ode01许多输入参数。“这有什么办法可以解决?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年4月28日
这显然是一个歌唱函数。ode函数必须接受时间和边界条件,即使他们不需要计算。

登录置评。


AYGUN JABRAYILOVA
AYGUN JABRAYILOVA 2021年7月19日
函数x = myNewtonImprv (f, fd, x0, tol)
%与宽容或错误使用Newton-Rhapsom方法检查%
x = x0;
y = f (x);
abs (y) >托尔%这样做直到宽容达到%
x = x - y / fd (x);
y = f (x);
结束
结束
太多的参数
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年7月19日
我们不知道如何调用这个代码。

登录置评。


M。danyal Zahid
M。danyal Zahid 2023年6月11日等等
编辑:沃尔特·罗伯森 2023年6月11日20:59
p1 = simout1.Pitch_angle__deg_;
p2 = simout1.P__pu_;
p3 = simout1.Q__pu_;
p4 = simout1.wr__pu_;
p5 = simout;
p6 = Frequency_A1;
p7 = simout3.Output_active_power___Peo__pu_;
p8 = simout3.Output_reactive_power__Qeo__pu_;
次要情节(2、2、1)
情节(p1);
标题(“螺旋角(度));
ylabel (“螺旋角(度));
轴([20 250 0 7])
网格
次要情节(2 2 2)
情节(p2);
标题(“有功功率(p.u)——风力涡轮机);
轴([250 0.23 - 0.4])
网格
次要情节(2,2,3)
情节(p3);
标题(无功功率(p.u) -风力涡轮机的);
轴([20 250 -。2 0])
网格
次要情节(2,2,4)
情节(p4);
标题(的转子速度——风力涡轮机);
轴([20 250 1 1.25])
网格
次要情节(2、2、1)
情节(p6);
标题(“频率”);
轴([250 59.5 - 60.5])
网格
次要情节(2 2 2)
情节(p5);
标题(“电压在PCC (p.u)”);
ylabel (“电压在PCC (p.u)”);
轴([250 0.9 - 1.1])
网格
次要情节(2,2,3)
情节(p7);
标题(“有功功率(p.u)——同步”);
轴([250 0.4 - 0.6])
网格
次要情节(2,2,4)
情节(p8);
标题(“无功功率(p.u)——同步”);
轴(-0.2 (250 0)
网格
错误在Over_AGC_Proposed_ERSC_Parameter_Plots(1号线)
p1 = simout1.pitch_angle__deg_;
我妈谁面临这个问题,请指导我什么原因一个问题?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2023年6月11日在一句话
你不像我们展示了MATLAB认为误差
目前的讨论是关于“输入参数太多了。你表明你有一个问题
p1 = simout1.pitch_angle__deg_;
有可能在MATLAB“太多的输入参数”出现在这条线吗?
如果 simout1 是一个“包”和pitch_angle__deg_函数包,所以文件+ simout1 / patch_angle__deg_。米这条线会调用函数不带参数,但“没有参数”绝不是“输入参数太多了所以不能出现“太多” 线。这种错误可能发生在一个函数caleld + simout1 / patch_angle__deg_。米,但回溯将显示至少一个在这种情况下。
如果 simout1 一个对象,pitch_angle__deg_对象类定义的方法,那么pitch_angle__deg_被称为对象作为参数,好像pitch_angle__deg_ (simout1)被调用。这是输入参数太多了吗?pitch_angle__deg_方法可以定义,不允许输入参数?
如果pitch_angle__deg_类和它的一个普通的方法是不正确的设计不接受方法的类的一个对象,然后用MATLAB将生成一个 不同的 错误消息关于需要适当的类的一个参数。这就是。
但是…如果 simout1 一个对象的吗 命名 pitch_angle__deg_ 然后 pitch_angle__deg_ 类的构造函数,类的构造函数可以定义不接受任何参数。
所以为了 太多的输入参数 错误发生在指定的行,你必须有
classdefpitch_angle__deg_
函数obj = pitch_angle__deg_ ()
obj =什么
结束
结束
simout1 会是由类pitch_angle__deg_然后simout1。pitch_angle__deg_would be an attempt to call pitch_angle__deg_(simout1) which would fail.
所以它不 不可能的 能得到这样一个错误在这条直线上……它是不太可能。
我建议你剪掉了重要部分的错误消息。
我的 投机 是实际的问题是,你没有一个物体或结构命名 simout1 当时Over_AGC_Proposed_ERSC_Parameter_Plots.m您调用脚本

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!