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

280 visualizzazioni (ultimi 30 giorni)
LOKESH
LOKESH il 26 Apr 2016
Modificato: Jan il 6 Giu 2022
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

Risposta accettata

Jan
Jan il 26 Apr 2016
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 Commenti
Jan
Jan il 6 Giu 2022
[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 il 6 Giu 2022
Modificato: Jan il 6 Giu 2022
@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.

Accedi per commentare.

Più risposte (2)

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

edwinda ramadahani
edwinda ramadahani il 3 Giu 2022
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 Commento
Rik
Rik il 3 Giu 2022
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.

Accedi per commentare.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by