【发布时间】:2018-07-11 00:07:54
【问题描述】:
k = linspace(0,0.5)'
h = 6.58212 * 10^-16
m_0 = 9.109383 * 10^-31
E_c = ( h^2 * k.^2 ) / ( 10^-5 * m_0 )
A = [E_c, 1, 2; 3, 4, 5; 6, 7, 8]
当我运行这段代码时,我得到:
error: horizontal dimensions mismatch (100x1 vs 1x1)
error: called from
physics at line 42 column 3
我想计算特征值。但这首先需要一个不会崩溃的矩阵。我意识到 E_c 是一个 100x1 向量,我试图将其插入 3x3 矩阵 A 的第一个槽中,并且该槽的大小为 1x1。我需要使用 elementwise 来执行此操作吗?
我们想要找到其中一个矩阵元素是函数的特征值。
【问题讨论】:
-
k是一个100x1向量,因此E_c也是一个100x1向量然后您尝试将此100x1向量插入到3x3矩阵@ 的第一个槽中987654329@,这个槽的大小是1x1。E_c应该在你的方程中是什么? -
乔尔,你真的应该添加你的预期结果。在这种情况下,您只是向我们扔了一些代码:“不起作用,有什么想法吗?”。代码的工作方式与您编写的完全一样,因此您认为代码的作用与实际作用之间存在差异。我希望你明白告诉我们你对这个 sn-p 的期望是很重要的?
-
@StaticBeagle ,我更新了更多信息
-
"我们想要找到其中一个矩阵元素是函数的特征值。" -- 你的意思是你想找到一个矩阵的特征值,并看到这些特征值随着你改变矩阵的一个值而改变?您需要为此循环,每次都使用不同的
k值。或者你可以象征性地这样做,也许?我的意思是你可以写出 3x3 矩阵的特征值的表达式。 -
然后写一个循环。这是简单的方法。我知道人们强烈反对循环,但我认为 100 次迭代不会杀死你。 :)
标签: matlab matrix octave elementwise-operations