输入参数不足

5746次浏览(过去30天)
忍者
忍者 2012年11月7日
评论: Kumar maruthi srinivas chennu2021年9月3日12时34分
大家好,我对MATLAB很陌生 我遇到一些麻烦。 很多 很多人 有th e相同 问题,但似乎没有人能够用简单的英语解释或解决它。有人能解释一下这个错误是什么以及如何修复它吗 ?
我有一个简单的函数:
作用[r] = Mec134function (w, theta_deg)
t2 = 10000;
theta_rad = (theta_deg. / 180)。*π;
t1=55090./(10*sin(θu rad));
rx=(t1.*cos(θrad))-t2;
ry=w-(t1.*sin(θu rad));
r=((rx)。^2+(ry)。^2)。^0.5;
终止
第3行似乎出现了这个错误,但我不确定为什么。
谢谢
9评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年10月7日
第38行的哪个函数?

登录评论。

接受的答案

阿基瓦·戈登
阿基瓦·戈登 2012年11月8日
编辑:MathWorks支金宝app持团队 2018年11月27日
你的函数定义了两个输入参数(w和theta_deg)。当你运行mec134函数时,你必须指定两个输入,否则你会得到错误“没有足够的输入参数”。
例如,如果在命令窗口中运行MEC134函数而不指定任何参数:
> > Mec134function
您将得到以下错误:
足够的输入参数。
错误在MEC134功能中(第3行)
theta_rad = (theta_deg. / 180)。*π;
如果运行MEC134函数并指定两个输入参数“w”和“theta_deg”(假设定义了“w”和“theta_deg”),则不会收到错误消息:
> > Mec134function (w, theta_deg)
如果你有文件“mec134功能。m”在编辑器中打开,你尝试通过按下“运行”按钮或F5运行函数,MATLAB运行mec134函数没有任何输入参数,你得到的错误“不够的输入参数”。然后打开“Run”按钮下拉菜单,提示您为缺少的输入参数输入值。
添加所需的值并按enter键。以后单击“运行”按钮或F5时,您输入的值将设置为默认输入。
要更改值,请按“运行”按钮下方的向下箭头并输入新值。
5评论
埃文·库拉托洛
埃文·库拉托洛 2020年9月27日
天啊!保佑你的灵魂。谢谢你的评论。

登录评论。

更多答案(15)

忍者
忍者 2012年11月7日
编辑:沃尔特·罗伯森 2016年7月15日
抱歉,函数是
作用[r] = Mec134function (w, theta_deg)
t2 = 10000;
theta_rad = (theta_deg. / 180)。*π;
t1=55090./(10*sin(θu rad));
rx=(t1.*cos(θrad))-t2;
ry=w-(t1.*sin(θu rad));
r=((rx)。^2+(ry)。^2)。^0.5;
终止
如果这更清楚的话:-)
3评论
史蒂文的主
史蒂文的主 2016年12月27日
在发布R2015b之前 脱胶剂 rad2deg 函数是映射工具箱的一部分 进入MATLAB
作为避免在度和弧度之间转换的另一种解决方案,MATLAB还提供了一些函数 信德 科斯德 用于计算角度的正弦和余弦(以度为单位),这些都是MATLAB的一部分,已经有很长一段时间了。[我不记得它们是什么时候被引入的。]

登录评论。


忍者
忍者 2012年11月7日
编辑:沃尔特·罗伯森 2012年11月7日
谢谢:-)
将看一看“入门”
我有一个简单的函数:
作用[r] = Mec134function (w, theta_deg)
t2 = 10000;
theta_rad = (theta_deg. / 180)。*π;
t1=55090./(10*sin(θu rad));
rx=(t1.*cos(θrad))-t2;
ry=w-(t1.*sin(θu rad));
r=((rx)。^2+(ry)。^2)。^0.5;
终止
这似乎给了第2行这个错误,但我不知道为什么。
2的评论
Waldemiro Kubucama
Waldemiro Kubucama 2020年8月1日
您好,首先在Matlab中按“Run”按钮,然后只需按“ENTER”按钮,您的计算机就可以运行了。我想您的问题会得到解决。

登录评论。


布莱恩·巴特森
布莱恩·巴特森 2012年11月29日
编辑:布莱恩·巴特森 2012年11月29日
我对Matlab也很陌生,曾尝试在.m(11月7日的JP Donlon)中运行上述代码。但是,我不断收到一个错误,指出“输入参数不足”。我不确定这意味着什么,因为我曾尝试运行教授在其他计算机上运行的其他代码。这与我的首选项设置有关吗?
此外,当我运行代码分析器时,没有问题……不知道发生了什么。
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年3月29日
//www.tatmou.com/matlabcentral/answers/53100-not-enough-input-arguments#comment_109973

登录评论。


安妮·迈克尔
安妮·迈克尔 2016年7月15日
编辑:沃尔特·罗伯森 2016年7月15日
如何纠正这个错误
错误使用DetectFace(第68行)
足够的输入参数。
代码如下所示
I=imread(“lena.jpg”);
minFace = 20;%你正在搜索的脸的最小尺寸
maxFace=4000;%您正在搜索的脸的最大尺寸
overlappingThreshold = 0.5;%用于对附近检测进行分组的重叠阈值
numThreads=24;用于并行计算的CPU线程数
如果nargin>2&&~i空(选项)
如果isfield(选项,“碎脸”) & & ~ isempty (options.minFace)
minFace=options.minFace;
终止
如果isfield(选项,“maxFace”)&&&~isempty(options.maxFace)
maxFace=options.maxFace;
终止
如果isfield(选项,“overlappingThreshold”)&&&~isempty(选项重叠阈值)
overlappingThreshold = options.overlappingThreshold;
终止
如果isfield(选项,“numThreads”) & & ~ isempty (options.numThreads)
numThreads = options.numThreads;
终止
终止
%%测试检测器
如果~ ismatrix(我)
I=RGB2灰色(I);
终止
candi_rects = npscan (model, I, minFace, maxFace, numThreads);
%%后处理
如果isempty(坦率)
矩形= [];
返回
终止
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年7月15日
你为什么用 函数输入变量数 返回 你写这封信的时候 剧本 ? 函数输入变量数 在中定义为0 脚本 返回 可能导致奇怪的行为,当使用 剧本
当我四处搜索时,在我看来,这段代码好像是抄袭的 https://github.com/biotrump/NPD/blob/master/NPDFaceDetector/DetectFace.m 这是一个 作用 不是 剧本 .下面的注释中给出了调用该函数的示例:
I=imread(“lena.jpg”);
装载(“model.mat”);
rects = DetectFace(npdModel, I);
你不能只是移除 作用 从函数中删除一行,并指定给一个变量,然后期望它工作。

登录评论。


里玛·莫汉蒂
里玛·莫汉蒂 2016年12月27日
编辑:沃尔特·罗伯森 2017年5月26日
clc;清晰;关全部的
xo=0.4;
A=[];
b=[];
Aeq = [];
说真的= [];
Q=100;
R=1;
N = 50;
U0=零(100,1);
% Umin = 1 * 1 (100 1);
% Umax = 1 * 1 (100 1);
%U=fmincon(@cost1、U0、A、b、Aeq、beq、Umin、Umax、[]、[]、N);
x = xo;h = 0.1;
xo = [-0.5, 0.5];
选项=最佳选项(@fmincon,“算法”,“sqp”);
U = fmincon (@cost1情况 ,[],[],[],[],[],[],@ confuneq选项);
k = 1: N
S1 = F (x (k), U (k));
S2=F(x(k)+0.5*h*S1,U(k));
S3=F(x(k)+0.5*h*S2,U(k));
S4=F(x(k)+h*S3,U(k));
x(k+1)=x(k)+(1/6)*(S1+2*S2+2*S3+S4)*h;
k=k+1;
终止
%的情节(x);
地块(U);
网格
图();情节(x)
网格
我是matlab新手。有人能帮我解决这个问题吗。
它没有显示足够的输入参数。

瓦尼·什里
瓦尼·什里 2017年3月3日
编辑:沃尔特·罗伯森 2017年3月3日
您好,先生,我是matlab新手。我在这段代码中遇到了错误,比如“预处理需要更多的输入才能运行”。请您运行这个程序。我的项目主题是使用过滤器识别和匹配假徽标。
作用img=预处理(I)
[x y o] =大小(我);
如果o==3
I = rgb2gray(我);
终止
I=2倍(I);
% %中值滤波器
med=medfilt2(I);
图中,imshow(地中海)
标题(“中值滤波图像”)
[psnr_med, mse_med] = psnr(我,地中海)
% %平均滤波器
out7=imfilter(I,f特殊(“平均”));
图中,imshow (out7)
标题(“平均过滤图像”)
[psnr_avg, mse_avg] = psnr(我out7)
% %高斯滤波器
gau=imfilter(I,f特殊(“高斯”));
图中,imshow(高斯)
标题(“高斯滤波器的图像”)
[psnr_gau, mse_avg] = psnr(我,高斯)
%%韦纳滤波器
psf = fspecial (“高斯”7、10);
图像1=imfilter(I,psf,“conv”,“通告”);
var1 = (1/256) ^ 2/12;
var2=var(I(:);
魏= deconvwnr (psf, image1 (var1 / var2));
图,imshow(wei);标题(“维纳过滤图像”);
[psnr_-wei,mse_-wei]=psnr(I,wei)
psnr_all=[psnr_med,psnr_avg,psnr_gau,psnr_wei];
psnr_max = max (psnr_all);
val =找到(psnr_all = = psnr_max);
如果val = = 1
img =地中海;
disp (“中位数有较高的psnr”);
elseifval = = 2
img = out7;
disp ("平均psnr高");
elseifval = = 3
img =高斯;
disp (“高斯噪声具有高峰值信噪比”);
其他的
img=wei;
disp ('weiner有高psnr');
终止
3评论
史蒂文的主
史蒂文的主 2017年3月24日
Vani shree,你应该把这个作为一个单独的问题来问,因为它与“输入参数不够”这个问题无关。展示你所写的内容,问一个你在哪里遇到困难的具体问题,你可能会得到一些指导。

登录评论。


Ganesh Petkar
Ganesh Petkar 2017年4月18日
以下函数的错误是“输入参数不足”
延迟信号=mtapped\U delay\U fcn(输入);
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年4月18日
输入 是一个MATLAB函数调用。看到 //www.tatmou.com/help/matlab/ref/input.html

登录评论。


温德尔
温德尔 2017年5月26日
编辑:沃尔特·罗伯森 2017年5月26日
嗨,我正在尝试运行Dr. John Stockie的matlab代码,但我得到了一个“不够的输入参数”错误。我不太擅长使用Matlab,所以我会感谢任何帮助。谢谢你!我粘贴代码:
作用C = ermak(x, y, z, H, Q, U, Wset, Wdep)
%ERMAK:使用以下公式计算污染物浓度(kg/m^3)
%高斯羽流模型,修正为沉积和沉降
%此代码处理单个源(位于
%起源)和多个受体。
%
%输入参数:
%
%x受体位置:沿风向的距离,带
源在x=0 (m)处的百分比
%y-接收器位置:横向风向(m)
% z -受体位置:垂直高度(m)
%H—震源高度(m)
%Q-污染物排放率(kg/s)
%U-风速(m/s)
% Wset -重力沉降速度(m/s)
%Wdep-沉积速度(m/s)
%
%输出:
%
% C—污染物浓度(kg/m^3)
%
%参考文献:Ermak(1977),Winges(1990/1992)。
首先,定义截止速度,在截止速度以下浓度= 0。
Umin = 0.0;
%根据稳定性等级C确定西格玛系数--
%稍不稳定(3-5米/秒)。
唉= 0.34;= 0.82;阿兹= 0.275;bz = 0.82;
sigmay = ay * abs (x)。^by .* (x > 0);
sigmaz=az*abs(x)。^bz.*(x>0);
%计算涡流扩散率(m^2/s)。
Kz=0.5*az*bz*U*abs(x)。^(bz-1)。*(x>0);% K = 0.5*U*d(∑^2)/dx
%使用Ermak公式计算污染物浓度(kg/m^3)。
如果U
C=0*z;
其他的
Wo = Wdep - 0.5*Wset;
C =问。/(2 *π*你* sigmay。* sigmaz)。* exp (-0.5 * y。^ 2. / sigmay。^ 2)。*...
exp(-0.5*Wset*(z-H)。/Kz-Wset^2*sigmaz.^2/8./Kz.^2)*...
(exp (-0.5 * 2. (z-H)。^ / sigmaz。^ 2) +...
exp(-0.5*(z+H)。^2./sigmaz.^2)-sqrt(2*pi)*Wo*sigmaz./Kz*...
exp(我们* (z + H)。/ Kz + 0.5 *我们^ 2 * sigmaz。^ 2. / Kz。^ 2)。*...
erfc(Wo*sigmaz/sqrt(2)。/Kz+(z+H)。/sqrt(2)。/sigmaz));
ii = find(isnan(C) | isinf(C));
C (ii) = 0;%设置所有NaN和inf值为零。
终止
在第31行中,错误消息是指“sigmay”
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年5月26日
请在此阅读前面的答案。

登录评论。


艾尔西·雷迪R
艾尔西·雷迪R 2019年9月4日
编辑:沃尔特·罗伯森 2019年10月14日
作用测试(num1、num2、小型、s)
加载(小,num1, num2)
S = sum(num1, num2)
终止
这个代码,我得到这些错误
足够的输入参数。
错误在测试中(第3行)
加载(小,num1, num2)
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年10月14日
注意:如果你传入一个变量的名字作为第四个参数,那么你传递的函数将会 将该变量设置为求和的结果。如果要在MATLAB中返回值,需要在函数行中的“=”左侧对其进行编码。例如,
作用S = test(num1, num2, small)
加载(小,num1, num2)
S = sum(num1, num2)
终止
这不太可能按您希望的方式工作。为了使load()在那里工作,small和num1以及num2必须分别是字符向量或标量字符串变量,num1和num2必须与有效的MATLAB变量名具有相同的形式。这些名称必须在由 变量
通过使用load()的形式,MATLAB通常会将变量名“噗”地存在。然而,当你使用 终止 匹配一个 作用 语句,你向MATLAB保证你不会把变量变成存在的,并且允许MATLAB给出一个错误或忽略神奇创建的变量。因此,后 负载 , num1 num2 可能会继续是字符向量或字符串对象,您可能会尝试调用sum(),并将它们传入。如果第一个参数, num1 是字符串对象,但如果num1是字符向量,则可以。对sum()的第二个参数有效的字符向量或标量字符串对象数量有限,即“all”、“double”、“native”、“default”、“includenan”或“omitnan”。如果您碰巧将变量命名为其中任何一个,那将是令人惊讶的。。。

登录评论。


沙帕
沙帕 2020年3月11日
编辑:沃尔特·罗伯森 2020年3月11日
您好。我是Matlab新手,我想用这个函数完成我的作业折射层,Matlab用折射层(第18行和第25行)表示错误。这是整个程序
作用refraction_2layers(v1, v2, z, FIRST_ARRIVALS_ONLY);
%折射2layers(v1, v2, z);
%
%为具有层速度的两层系统创建行程时间图
%v1和v2以及z的第1层厚度
% FIRST_ARRIVALS_ONLY标志可以设置为1,只绘制第一次到达的图像。通过
%默认情况下,将打印所有到达。
如果nargin<4首次到达仅=0;终止
检波器x位置(m,相对于震源)%%
x = [0:5:300];
%%直达波%%沿地面传播(速度v1)
t1 = x / v1;
%%头波
沿z1-z2边界折射
%%旅行时间取决于两层的速度
%%仅第1层的厚度(第2层的厚度无关)
t2=(2*z*sqrt(v2^2-v1^2)/(v1*v2))+x./v2;%%注:坡度应为1/v2!
xcrit=2*z*v1/(sqrt(v2^2-v1^2));
如果伊斯雷尔(xcrit)
a=最小值(查找(x>xcrit));
终止
交叉= ((2 * z *√(v2 ^ 2 v1 ^ 2)) / (v1 * v2)) / (1 / v1-1 / v2);
b=最大值(找到(x<=交叉点));
如果FIRST_ARRIVALS_ONLY
地块(x(1:b)、t1(1:b)*1000,'.--')
持有
如果以色列(t2)
地块(x(b:end)、t2(b:end)*1000,“r.——”)
终止
其他的
图(x,t1*1000,'.--')
持有
如果以色列(t2)
绘图(x(a:结束),t2(a:结束)*1000,“r.——”)
终止
终止
xlabel(“检波器抵消(m)”)
伊拉贝尔(‘时间(毫秒)’)
网格
传奇(“直达波”,“头波”)
标题([“z1 = ',num2str(z),“米;v1 = 'num2str (v1),米/秒;v2 = ',num2str(v2),“m/s”])
轴([0 300 0 300])
持有
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年3月11日
沙帕 :
我为您设置了代码的格式,以使其他人可以阅读,但我怀疑我没有完全保留行边界,因此我们不知道哪些行给您带来了问题。请使用注释标记它们。请同时给出确切的错误消息。
也请检查一下位置 终止 语句。在我看来,你可能多喝了两杯 终止 语句。

登录评论。


Josilyn Dostal
Josilyn Dostal 2020年4月23日
我真的很难在代码中找出这个“输入参数不足”的错误。任何帮助都将不胜感激!这是针对分批蒸馏问题,错误是指底部附近的temp函数。代码和错误如下所示:
P=912;% mmHg或1.2 atm
L0=100;%蒸馏器中的摩尔液体
A = [6.90565 6.95464];B = (1211.033 - 1344.8);C = (220.79 - 219.482);%安东尼常量
% x0 = [0.60 0.40];%初始液浓度xb = 60% xt = 40%
% xf = [0.20 0.80];%终液浓度xb = 20% xt = 80%
xtspan=linspace(0.40,0.80100);
[xt,L]=ode45(@Moles,xtspan,L0);
L = L(结束);
fprintf(当甲苯的液相摩尔分数达到0.80时,蒸馏器中剩余的液体量为%f摩尔L);
%汽液平衡比,K
作用Kt = EquilibriumRatio (Psatt)
Kt = Psatt / P;
终止
%甲苯蒸气压
作用Psatt=蒸汽压力(T,A,B,C)
Psatt = 10 ^(一(2)- b (2) / (T + C (2)));
终止
%苯蒸汽压
作用Psatb = VaporPressureb (T, A, B, C)
Psatb = 10 ^ (- b (1) (1) / (T + C (1)));
终止
%颂歌
作用dLdx =摩尔(xt,左)
T0=95.585;
% = odeset选项(“RelTol”、1 e-6 AbsTol, 1 e-8);
%选项= optimset (PlotFcns, {@optimplotx, @optimplotfval});
% = optimset选项(“显示”、“iter”);%显示迭代
选项=优化集(“显示”,“关”,“TolX”,1e-6);%选择权
T=fzero(@temp,T0,选项);
Psatt=蒸汽压力(T);
Kt = EquilibriumRatio (Psatt);
dLdx = L / (xt * (Kt-1));
终止
作用xt Tempfun = temp (T, P, A, B, C)
Psatt = VaporPressuret (T, A, B, C);
Psatb = VaporPressureb (T, A, B, C);
Tempfun=Psatt*xt+Psatb*(1-xt)-P;
终止
>>项目2
错误使用fzero(第306行)
FZERO无法继续,因为用户提供的函数_handle==>temp失败,出现以下错误。
足够的输入参数。
错误项目2>摩尔(第30行)
T=fzero(@temp,T0,选项);
错误在odearguments(第90行)中
f0=feval(ode,t0,y0,args{:});% ODE15I设置参数{1}为yp0。
错误在ode45(第115行)
odearguments(FcnHandlesUsed、解算器名称、ode、tspan、y0、选项、varargin);
错误在项目2(第7行)中
[xt,L]=ode45(@Moles,xtspan,L0);
5评论
Josilyn Dostal
Josilyn Dostal 2020年4月24日
你是我的救世主,你真好。

登录评论。


玛丽亚·哈桑
玛丽亚·哈桑 2020年7月13日
你好,
我得到错误'没有足够的输入参数。'我正在尝试在线试用版本。当我单击运行图标时,它不允许我为输入输入值,因为没有输入值的选项。有什么建议吗?
最好的
莎拉

Gurwinder pal singh Bhinder
Gurwinder pal singh Bhinder 2020年11月27日
我是matlab新手。我收到错误消息“extract_features”需要更多的输入参数才能运行。
命令窗口中的Anderror:
> > Extract_Features
输入参数不足。
提取特征时出错(第2行)
img1=imread(文件名);
代码如下:
作用提取功能(文件名、标志)
img1=imread(文件名);
如果ndims (img1) = = 3;img1 = rgb2gray (img1);终止%彩色图像
disp ([“从中提取特征”文件名' ...']);
fir=外指(img1,0);
fir=fir(fir(:,3)<5,:);
如果标志==1
图;
imshow (img1);
持有
fir1=查找(fir(:,3)==1);
fir3 =找到(冷杉(:,3)= = 3);
情节(冷杉(fir1、1)、冷杉(fir1, 2),' r + ');
情节(冷杉(fir3、1)、冷杉(fir3, 2),“波”);
终止
filename2 =文件名;filename2 (end-1) =“x”;filename2(结束)=“不”
保存(文件名2,“冷杉”,“-ascii”);
终止
8评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年11月27日
正确的。

登录评论。


默罕默德Hadyan Utoro
默罕默德Hadyan Utoro 2021年6月17日
有人能帮我一下吗
%%全波整流和均方根包络线
rec_EMG = abs (EMG);
包络=零(L,1);
窗口= 50;
包络线=sqrt(移动平均值(记录肌电图^2),“窗口”);
我试着去弄RMS,但上面写着:
使用movmean时出错,输入参数不足。
我不明白,因为我已经用了两个论点。
谢谢你的帮助
2的评论
默罕默德Hadyan Utoro
默罕默德Hadyan Utoro 2021年6月17日
非常感谢罗伯逊先生的解释。我把括号放错位置了。
谢谢你的帮助

登录评论。


Kumar maruthi srinivas chennu
Kumar maruthi srinivas chennu 2021年9月3日11时28分
编辑:Kumar maruthi srinivas chennu 2021年9月3日12时32分
有人能帮我吗
作用u = Anti_Tv (g,γ)
gHS = uint8(imadjust (g));
gGC = uint8(255。* (((g)的两倍。/ 255)。^(γ)));
g=双(g(:);
n =长度(g);
b=零(2*n,1);
d=b;
u=g;
eer=1;k=1;
tol=1e-3;
λ=0.05
[B, Bt, BtB] = DiffOper(根号(n));
输入参数不足
2的评论
Kumar maruthi srinivas chennu
Kumar maruthi srinivas chennu 2021年9月3日12时34分
你能检查一下并告诉我吗

登录评论。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!