What is meaning of c(:,1) and . in matlab code

259 次查看(过去 30 天)
I have code .What does it mean?
c(:,1)=0.5*ones(10,1); //What is c(:, 1)?
for i = 1:s
Delta(:,i)=(2*round(rand(2,1))-1).*rand(2,1); //What is .?
end
for m=1:s
P(1,:,1,1,1)= 50*rand(s,1)'; //What is ' and P(1, :, 1,1,1)?
P(2,:,1,1,1)= 0.2*rand(s,1)';
end

采纳的回答

Jan
Jan 2016-4-26
I agree with dpb: To use a powerful programming language like Matlab, you have to read the manuals. The forum is not the right location to explain the basics, because they are explained in the "Getting Started" chapters exhaustively already.
  • You will find out, that c(:,1) is the first column of the matrix "c", e.g. a column vector.
  • The operator is not "." but ".*", which means an elementwise multiplication. A * B is a matrix product, while A .* B multiplies the elements of the arrays.
  4 个评论
Jan
Jan 2022-6-6
[MOVED from flags] Paula Carrasco Molina about 2 hours ago. Hey man, sometimes you're not using Matlab every day and only want to solve a straightforward question and forget Matlab forever. If you're going to answer like that, better not respond and let someone else do it
Jan
Jan 2022-6-6
编辑:Jan 2022-6-6
@Paula Carrasco Molina: I've explained, what these operators do and in addition how you can find this out by your own. If you have a good or even better answer, feel free to post it here to support the asking persons. The original poster has accepted this answer as a solution, so it was useful obviously.
You are not in the position to tell others how to answer.

请先登录,再进行评论。

更多回答(2 个)

dpb
dpb 2016-4-26
Start at the beginning of <getting-started-with-matlab> and work through the tutorials to pick up basic syntax quickly...

edwinda ramadahani
A=[1 4 2;3 1 5], B=[1 5 2;-1 0 1;3 2 4], Q=[6 1 3;-1 1 2;4 1 3]
what is the syntax for (BA)+Q
  1 个评论
Rik
Rik 2022-6-3
If you have trouble with Matlab basics you may consider doing the Onramp tutorial (which is provided for free by Mathworks).
You also posted your question as an answer.
As to your question; there are two options of what you could mean, both shown below. Neither works, for different reasons.
A=[1 4 2;3 1 5];
B=[1 5 2;-1 0 1;3 2 4];
Q=[6 1 3;-1 1 2;4 1 3];
try
(B*A)+Q
catch ME,warning(ME.message),end
Warning: Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.
try
(B.*A)+Q
catch ME,warning(ME.message),end
Warning: Arrays have incompatible sizes for this operation.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by