error: Too many output arguments
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Marco Barbarossa
am 2 Sep. 2018
Kommentiert: Image Analyst
am 3 Sep. 2018
my goal is to obtain a matrix A (2x2) using a function called somma:
function [] =somma (x,y)
z=x+y
my script code is :
clear all
clc
x=1:2;
y=3:4;
A=zeros(length(x),length(y));
[x1,x2]=meshgrid(x,y);
for i=1:length(x);
for j=1:length(y);
A(i,j)=somma(x1(i,j),x2(i,j));
end
end
A
the error reported is:
Error using somma
Too many output arguments.
Error in untitled5 (line 9)
A(i,j)=somma(x1,x2);
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 2 Sep. 2018
You forgot to have somma return any value! Have it return z and it will work:
clc
x=1:2;
y=3:4;
A=zeros(length(x),length(y));
[x1,x2]=meshgrid(x,y)
for i = 1 : length(x)
for j = 1 : length(y)
A(i,j) = somma(x1(i,j), x2(i,j));
end
end
A
function [z] =somma (x,y)
z = x + y
end
2 Kommentare
Walter Roberson
am 2 Sep. 2018
Store the code for the function in a separate file. Having a function in a script file requires R2016b or later.
Weitere Antworten (2)
ahmed nebli
am 2 Sep. 2018
when writing the for loop it dosen't end with a ; and next the second for loop need to be under the first for loop and decaled by one tab, see syntax in this example https://www.mathworks.com/help/matlab/ref/for.html
1 Kommentar
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!