Double vs. Cell "Undefined function 'plus' for input arguments of type 'cell' "

In my code, I have two variables (inp.W{9} & inp.W{10}) which seems to be double (when I remove semicolon, this is shown in command Window: ans = [1x10 double]). However when I try to add these two variables, I get this error:
Undefined function 'plus' for input arguments of type 'cell'.
Error in truck (line 21) inp.W{9}+inp.W{10}

回答(2 个)

Without having them to experiment with and provide more specific code, I would use cell2mat to convert them first:
W9 = cell2mat(inp.W{9});
W10 = cell2mat(inp.W{10});
Result = W9 + W10;

4 个评论

I have already tried this, but I get this error:
Attempt to reference field of non-structure array
Without actually having your data, it’s difficult to provide an appropriate response. There are simply too many possibilities. It’s always possible any of us could guess the correct one, but that is a less than productive effort.
I'd like to give more information to get better help, but I really don't know how to copy a long code with more than 2000 lines here.
It’s not code but your data that we need to determine your problem.
First, save your ‘inp’ structure as a .mat file, then attach it using the ‘paperclip’ icon.

请先登录,再进行评论。

When you see
[1x10 double]
instead of numbers, then you are looking at a cell rather than a numeric array. Use
inp.W{9}{1}+inp.W{10}{1}

1 个评论

I get same error as previous comment "Attempt to reference field of non-structure array"

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Data Type Identification 的更多信息

产品

标签

提问:

2015-6-30

Community Treasure Hunt

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

Start Hunting!

Translated by