我已被告知我们需要知道哪些陈述,以及我对他们所做的事情的回答。如果我在某个地方弄错了,请纠正我,请告诉我如何学习我可能需要的更高级的陈述,例如: .*
和.^
用于元素操作,我还没有学习。
% Mini-Matlab:
% =============
%
% Find out what these statements do!
% Then you can write a Matlab-program.
% "%" starts a Matlab comment
x=[2 3]
上面就像一个数组,一个在语句后驻留在内存中的向量。
y=[4 5]'
这是一个列向量。
A=[x; y']
分号分隔矩阵的行。
B=sin(A)
这就像一个常规的数学函数。
z=x.*y'
这也就像经典数学/ CS中的一个功能。
c=A\y
这很重要并且解决了方程式系统但是哪个?最初的等式是如何陈述的?以上是否解决了Ay = c?请明确说明。
a='Hej'
以上只是一个变量,就像任何其他计算机语言一样。
A(2)= 'A'
上面将向量a的第二个元素设置为字符串'a'。
v=3:2:9
以上构建了步骤2中从3到9的向量。
w=5:3:15
以上构建了步骤3中5到15的载体。
t=0:0.05:10;
t变为介于0和10之间的向量,增量为0.05。
f=t.*exp(2*t);
这就像常规函数定义一样。
plot(t,f)
这绘制了y轴上的函数和x轴上的t。
title('Fin kurva');
这只是设置图表的标题。
g=3*t.*sin(t);
这是一个更复杂的函数定义,仍然很容易理解它的作用。
k=cos(t+2)+sin(t.^2);
另一个简单的函数定义。
help XXX % XXX=sin, cos, plot, disp
访问在线帮助系统。
if CONDITION
STATEMENTS...
end;
言自明的。
if CONDITION
STATEMENTS...
else
STATEMENTS...
end;
也不言自明。
for VARIABLE = VECTOR
SATSER...
end;
常规for循环
while VILLKOR
SATSER...
end;
如果你编程的话,很容易理解。
所以我认为我理解了大部分陈述但是从这个列表中可以看出,与研究最相关的是方程求解器c = A \ y,我需要练习如何使用。
答案 0 :(得分:1)
x=[2 3]
上面就像一个数组,一个在语句后驻留在内存中的向量。
[ ... ]
创建一个包含在括号内的所有内容的矩阵。矩阵可以是标量(1x1
),行向量(1xN
),列向量(Nx1
)或完整的2d矩阵(MxN
)。
Matlab也知道更高维的矩阵,但是你不能使用括号表示法输入它们(然而输入更高维矩阵的切片(它们本身是2d))。
y=[4 5]'
这是一个列向量。
[4 5]
创建1x2
向量,'
为transpose operator,将其转换为2x1
向量。
A=[x; y']
分号分隔矩阵的行。
确实,因为x
还是1x2
和y'
,A
是2x2
的第一行x
和第二行{ {1}}。
y'
这就像一个常规的数学函数。
sin:B=sin(A)
返回Y = sin(X)
元素的循环正弦值。因此,您可以输入标量,矢量,甚至矩阵。输出与输入大小相同。
X
这也就像经典数学/ CS中的一个功能。
z=x.*y'
是element-wise multiplication operator。 .*
和x
的大小相同很重要,否则会出错! y
的每个元素与x
的对应元素相乘,在这种情况下,结果将为:y
[2*4 3*5]
这很重要并且解决了方程式系统但是哪个?最初的等式是如何陈述的?以上是否解决了Ay = c?请明确说明。
Documentation:反斜杠或矩阵左分区。如果A是方阵,则A \ B与inv(A)* B大致相同,除非它以不同的方式计算。
所以它等于c=A\y
,因此它解决了c=inv(A)*y
。如果你不是一直使用它们,那些斜线和反斜杠总是很棘手。
A*c=y
以上只是一个变量,就像任何其他计算机语言一样。
错误,a='Hej'
符号中指定的任何文字都被解释为文字,因此'
将是一个字符数组,您可以使用whos function看到这一点。
a
上面将向量a的第二个元素设置为字符串'a'。
正确,这是可行的,因为a是char类型,'a'(rhs)是a(2)='a'
char。生成的1x1
将包含“Haj”。
a
以上构建了步骤2中从3到9的向量。
正确,结果是:v=3:2:9
。请注意v = [3 5 7 9]
生成相同的向量!
3:2:10
以上构建了步骤3中5到15的载体。
正确
w=5:3:15
t=0:0.05:10;
变为0到10之间的向量,增量为0.05。
从0到10,包括!
t
这就像常规函数定义一样。
与正弦函数相同,加上f=t.*exp(2*t);
与t
的元素乘法
exp(...)
这绘制了y轴上的函数和x轴上的t。
这将绘制y轴上的矢量plot(t,f)
和x轴上的f
,因此结果图将包含数据点t
,(t(ii), f(ii))
范围为1到矢量的长度。 ii
和t
的长度必须相同!
f
这只是设置图表的标题。
正确
title('Fin kurva');
g=3*t.*sin(t);
简单的功能。
正确
k=cos(t+2)+sin(t.^2);
访问在线帮助系统。
正确,但它不在线,它是内置的。例如:'help sin'将为您提供使用sin函数的帮助。
如果有条件 声明... 端;
言自明的。
如果有条件 声明... 其他 声明... 端;
也不言自明。
表示VARIABLE = VECTOR SATSER ... 端;
常规for循环
是的,help XXX % XXX=sin, cos, plot, disp
会依次获取VARIABLE
中的所有值。您可以将VECTOR
作为变量传递,也可以直接传递为VECTOR
。示例:here
在线matlab文档通常可以提供您需要的所有信息,以及其他所有信息。
答案 1 :(得分:1)
c=A\y
是矩阵左除法,用于求解方程Ac=y
。
如果A
是方阵,则A\y
相当于inv(A)*y
,pinv(A)*y
或mldivide(A,y)
,但它们的计算方式不同。< / p>
如果A是矩形矩阵,则inv
不适用,因此A\y
相当于pinv(A)*y
和mldivide(A,y)
。它们是Ac=y
的最小二乘解,但在不同意义上。
更多信息here