Error using == Matrix dimensions must agree.

Hi, I want a solution to this problem. Someone can help me?
Error in operations (line 5)
elseif c == 'multi'

 采纳的回答

I have no idea what the matrix dimension problem is, since we have only one line of your code. However, the way to compare strings and string variables is to use the strcmp or strcmpi functions.
So the correct syntax for the line you posted would be:
elseif strcmpi(c, 'multi')

7 个评论

Hi, Star Strider. Thank you for answer my question
I corrected the matlab code but now I have this problem
>> o1 = operations(4,'suma')
o1 =
8
>> o2 = operations(4,'multi')
Error in operations (line 3)
if strcmpi(c, 'suma')
Output argument "o1" (and maybe others) not assigned during call to
The logic in your code is correct. I experimented with all the options.
You can realistically have only one output, not three, so I would change your code to:
function [out] = operations(M,c)
out = NaN;
if strcmpi(c, 'suma')
out = M+M;
elseif strcmpi(c, 'multi')
out = M*M;
elseif strcmpi(c, 'expo')
out = M^M;
end
end
That should eliminate the error.
The initial assignment setting out to NaN covers the error condition when nothing matches ‘c’ correctly. The operation would not be defined, so that would actually be appropriate.
Star Strider Thank you so much. I resolved this problem
My pleasure.
If my Answer helped you resolve your problem, please Accept it.
Thank you, it solved my problem too !
@KenoKanawa — My pleasure!
Thanks, this solved my problem!

请先登录,再进行评论。

更多回答(1 个)

Pronoy Das
Pronoy Das 2021-2-25
编辑:Pronoy Das 2021-2-25
I came across a similar problem. Simply replace the single quotation marks with the double quotation marks, i.e. replace the line in your code with
c == "multi"

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by