元胞内容引用自非元胞数组对象。
时间: 2023-08-02 22:16:08 浏览: 190
这个错误通常发生在 MATLAB 中,它表示您尝试从非元胞数组对象中引用元胞内容。元胞数组是一种特殊类型的数组,其元素可以包含不同类型的数据,包括其他数组、结构体等。如果您尝试从非元胞数组对象中引用元胞内容,就会出现这个错误。
要解决这个问题,您需要确保您正在引用的对象是元胞数组对象。您可以使用 iscell 函数来检查一个变量是否为元胞数组,或者使用 cell 函数将一个非元胞数组转换为元胞数组。例如,如果您有一个名为 myarray 的数组对象,您可以使用以下代码将其转换为元胞数组:
```
mycellarray = cell(myarray);
```
然后,您可以使用花括号 ({}) 操作符从元胞数组中引用元素。例如,如果您想引用 mycellarray 的第一个元素,您可以使用以下代码:
```
myelement = mycellarray{1};
```
这将把 mycellarray 的第一个元素赋值给 myelement 变量。
相关问题
matlab元胞内容引用自非元胞数组对象。
Matlab 的元胞数组(cell array)可以存储不同类型的数据,包括数组、字符串、结构体和函数等。在使用元胞数组时,需要注意元胞数组中的每个元素都是一个对象,可以包含不同类型的数据。如果元胞数组中的某个元素包含的是非元胞数组对象,则需要使用花括号 `{}` 来引用该元素。
例如,假设有一个元胞数组 `C`,其中第一个元素为向量,第二个元素为字符串,第三个元素为结构体,第四个元素为函数,第五个元素为数字等等。要引用第二个元素(字符串),可以使用如下代码:
```
C = { [1, 2, 3], 'Hello', struct('name', 'Tom', 'age', 20), @sin, 123 };
str = C{2}; % 使用花括号引用第二个元素(字符串)
disp(str); % 输出结果为 'Hello'
```
需要注意的是,如果使用圆括号 `()` 来引用元胞数组中的元素,则返回的是一个元胞数组,而不是该元素包含的非元胞数组对象。例如,使用代码 `str = C(2);` 来引用第二个元素,返回的是一个元胞数组,而不是字符串 `'Hello'`。
new_ns{i}{k} = [new_ns{i}{k},j];元胞内容引用自非元胞数组对象怎么改正
这个错误通常是因为 `new_ns{i}{k}` 不是一个数组,而是一个非数组对象,比如字符串或者数字。你可以通过检查 `new_ns{i}{k}` 的类型来确认这一点。如果是非数组对象,你需要先将其转换成数组才能使用下标进行引用和修改。比如,如果 `new_ns{i}{k}` 是一个字符串,你可以使用 `str2double` 函数将其转换成数字数组:
```
new_ns{i}{k} = [new_ns{i}{k},j];
if ischar(new_ns{i}{k})
new_ns{i}{k} = str2double(new_ns{i}{k});
end
```
如果 `new_ns{i}{k}` 是其他类型的非数组对象,你需要使用相应的函数将其转换成数组。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)