我已尝试使用以下代码在MATLAB中创建稀疏图:
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],...
[2 3 3 1 1 1 2 3],6,6)cm =
但是它给了我以下错误
??? [2 3 3 1 1 1 2 3],6,6)cm =
|
Error: Unexpected MATLAB expression.
我已从the official site获取此代码,因此我无法理解为何会产生错误。
答案 0 :(得分:2)
你不应该在最后写cm =
部分。也就是说,当你写
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],...
[2 3 3 1 1 1 2 3],6,6)
在命令行上,您将获得
cm =
(1,2) 2
(1,3) 3
(2,4) 3
(3,4) 1
(2,5) 1
(3,5) 1
(4,6) 2
(5,6) 3
这是因为你没有在语句的末尾写一个分号。如果您不想看到cm
的值,只需在关闭括号后添加分号。另外...
告诉写多行语句。你可以写
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],[2 3 3 1 1 1 2 3],6,6)
替代地
答案 1 :(得分:1)
恭喜,您在MATLAB文档中发现了一个错误!
最后的cm =
属于下一行,实际上是输入MATLAB时输出的输出
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],...
[2 3 3 1 1 1 2 3],6,6)
MATLAB使用换行符来表示命令的结束,除非你用...
结束行,并且在第二行的结束括号之后,它不明白cm
应该是什么意思; - )
答案 2 :(得分:1)
MATLAB文档有一个拼写错误,对现有MATLAB背景的人无害,但初学者可能很难识别。引用MATLAB document,
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... [2 3 3 1 1 1 2 3],6,6)cm = (1,2) 2 (1,3) 3 (2,4) 3 (3,4) 1 (2,5) 1 (3,5) 1 (4,6) 2 (5,6) 3
真正意味着以下内容:
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... [2 3 3 1 1 1 2 3],6,6) cm = (1,2) 2 (1,3) 3 (2,4) 3 (3,4) 1 (2,5) 1 (3,5) 1 (4,6) 2 (5,6) 3
请注意,cm =
现在位于一个新行上,仅表示sparse
函数生成的输出的开头。从这个例子中创建稀疏矩阵你需要做的就是写
cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],...
[2 3 3 1 1 1 2 3],6,6)
这将为您提供所需的结果。
总的来说,正如一些评论者指出的那样,我建议在进行更复杂的主题(如稀疏矩阵和图形)之前先阅读一个基本的MATLAB教程。