Excel 如何将单元格数组转换为稀疏矩阵?
我正在尝试将Excel电子表格()转换为MATLAB稀疏矩阵 如何将其作为工作稀疏矩阵导入MATLAB?到目前为止,我所能做的就是把它转换成一个单元格数组。。。 我尝试先使用此函数转换我的姓名矩阵:Excel 如何将单元格数组转换为稀疏矩阵?,excel,matlab,matrix,sparse-matrix,Excel,Matlab,Matrix,Sparse Matrix,我正在尝试将Excel电子表格()转换为MATLAB稀疏矩阵 如何将其作为工作稀疏矩阵导入MATLAB?到目前为止,我所能做的就是把它转换成一个单元格数组。。。 我尝试先使用此函数转换我的姓名矩阵: function [names,links]=Changing(WorldReligion) i=0; names={}; for i=1:337 if WorldReligion(i,1)~=WorldReligion(i+1,1) names(i)=WorldRe
function [names,links]=Changing(WorldReligion)
i=0;
names={};
for i=1:337
if WorldReligion(i,1)~=WorldReligion(i+1,1)
names(i)=WorldReligion(i,1);
end
end
但是,我得到了这个错误:
[names , links]=Changing(WorldReligion) Undefined function 'ne' for
input arguments of type 'cell'.
任何帮助都将不胜感激 这是一个简短的回答,因为它作为一个注释看起来很糟糕,但是如果您想从电子表格中获取唯一的宗教名称,可以使用该函数处理字符串的单元格数组。在您的情况下,要获取电子表格的第一列,请使用以下命令:
clear
clc
[~, text, ~] = xlsread('WorldReligion.xlsx');
UniqueNames = unique(text(:,1));
whos
whos
的输出:
Name Size Bytes Class Attributes
UniqueNames 117x1 15654 cell
text 388x10 452500 cell
这将从“text”数据的第一列检索117个唯一的名称,我认为这就是您想要对上述for循环执行的操作。是这样吗?我认为您只需要使用大括号{}来访问单元格内容,而不是单元格本身。i、 e.如果您使用worldReligation{i,1}~=worldReligation{i+1,1}怎么办?使用~=矩阵维度的错误必须是一致的。@user3316789那么您尝试过我的建议了吗??