How in Matlab?

7 vues (au cours des 30 derniers jours)
Mario Marinov
Mario Marinov le 16 Sep 2015
Commenté : Star Strider le 16 Sep 2015
How to set up a program that introduces a square matrix of numbers from the fourth line? The program should be replaced first positive element in each row 1 and outputting the resulting matrix. Go somewhere and ... Please help!
  2 commentaires
James Tursa
James Tursa le 16 Sep 2015
Please provide a short example of inputs and desired outputs.
Mario Marinov
Mario Marinov le 16 Sep 2015
Let matrix is >> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
The program to replace the first numbers in each row, if they are positive, with the number 1. Then put the newly matrix :)

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 16 Sep 2015
I’m not certain what you want. See if this works:
A=[1 2 3;4 5 6;7 8 9];
A(A(1,:)>0) = 1;
It tests the first column in every row, and if it is positive, replaces it with 1.
  2 commentaires
Mario Marinov
Mario Marinov le 16 Sep 2015
Modifié(e) : Star Strider le 16 Sep 2015
This works! Thanks! My record is wrong:
>> A(1,:)>0=1
A(1,:)>0=1
|
Error: The expression to the left of the equals sign is not a valid target for an assignment.
Star Strider
Star Strider le 16 Sep 2015
You have to put parentheses in the subscript references:
A(A(1,:)>0) = 1;

Connectez-vous pour commenter.

Plus de réponses (1)

Mario Marinov
Mario Marinov le 16 Sep 2015
Excuse me, but if the matrix is this: >> A = [-1 2 3;4 -5 6;7 8 -9]
A =
-1 2 3
4 -5 6
7 8 -9
How to replace the first positive number in each row, and not in the first column with 1?
  3 commentaires
Mario Marinov
Mario Marinov le 16 Sep 2015
Working again! Thanks!
Star Strider
Star Strider le 16 Sep 2015
My pleasure!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by