Somam matrici matlab
Ragazzi ho un problema con una semplicissima funzione in matlab,sevo somamre due amtrici ma non mi riesce..ho risolto così:
%Somma matrici
n=input('dammi il numero di righe');
m=input('dammi il numero di colonne');
i=0;
j=0;
m=[0,0];
for i=1:n
for j=1:m
m(i,j)=input('dammi i valori in matrice');
end
end
disp('la mia matrice è:');
m
a=input('dammi il numeri di righe della seconda matrice');
b=input('dammi il numero di colonne della seconda matrice');
k=0;
h=0;
M=[0,0];
for k=1:a
for h=1:b
M(k,h)=input('dammi gli elementi della matrice');
disp('la mia matrice è:');
M
end
end
somma=m(i,j)+M(h,k);
disp('la somma è:');
somma
ho provato anke a mettere lo stesso numero di righe e colonne..ma niente e x di + l inizzializzazione della prima amtrice che creo mi fa uscire una amtrice di soli zeri:S e non riescoa speigarmi il xkè!
qualcuno sa aiutarmi?:(
grazie anticipatamente
%Somma matrici
n=input('dammi il numero di righe');
m=input('dammi il numero di colonne');
i=0;
j=0;
m=[0,0];
for i=1:n
for j=1:m
m(i,j)=input('dammi i valori in matrice');
end
end
disp('la mia matrice è:');
m
a=input('dammi il numeri di righe della seconda matrice');
b=input('dammi il numero di colonne della seconda matrice');
k=0;
h=0;
M=[0,0];
for k=1:a
for h=1:b
M(k,h)=input('dammi gli elementi della matrice');
disp('la mia matrice è:');
M
end
end
somma=m(i,j)+M(h,k);
disp('la somma è:');
somma
ho provato anke a mettere lo stesso numero di righe e colonne..ma niente e x di + l inizzializzazione della prima amtrice che creo mi fa uscire una amtrice di soli zeri:S e non riescoa speigarmi il xkè!
qualcuno sa aiutarmi?:(
grazie anticipatamente
Risposte
Non ho capito cosa hai fatto alla fine...
Hai accettato in input la prima matrice, poi la seconda, e poi ??? cosa intendi fare ?
Hai accettato in input la prima matrice, poi la seconda, e poi ??? cosa intendi fare ?
la somam delle due matrici..elemento per elemento..devo farle scorrere con un altro ciclo for? non ne ho idea:S
Intendi sommarle per metterle in una terza matrice ?
Ti serve solo il totale?
In ogni caso certo che le devi scorrere con altro ciclo.
Ti serve solo il totale?
In ogni caso certo che le devi scorrere con altro ciclo.
devo sommarle e metterle in una terza matrice..mmm
forse devo provare a creare uan matrice A che inizializzo con zero e faccio scorrere con il ciclo for sia per i,j,k,h ?
e poi scrivo A=m(i,j)+M(k,h)?
ma in qeusto caso devo trovare anke delle nuove variabili x A?
e sopratutto xkè la mia inizializzazione della prima matrice mi porta ad avere una amtrice di zeri e mi esce "inserire i numeri in matrice?"
scusa l ignoranza..XD
forse devo provare a creare uan matrice A che inizializzo con zero e faccio scorrere con il ciclo for sia per i,j,k,h ?
e poi scrivo A=m(i,j)+M(k,h)?
ma in qeusto caso devo trovare anke delle nuove variabili x A?
e sopratutto xkè la mia inizializzazione della prima matrice mi porta ad avere una amtrice di zeri e mi esce "inserire i numeri in matrice?"
scusa l ignoranza..XD
Tu vuoi prendere in ingresso due matrici e mettere la loro somma in una terza. Giusto?
alcuni commenti: le matrici devono avere le stesse dimensioni quindi basta prenderle in ingresso una sola volta, la struttura del for in matlab è for (...) ... else ... end, prima del ciclo for non è necessario inizializzare le variabili di conteggio
ed infine il bello di Matlab (Matrix Laboratory) è proprio che per sommare due matrici non devi fare nessun ciclo
%Somma matrici
clear all
close all
clc
n=input('dammi il numero di righe>>');
m=input('dammi il numero di colonne>>');
%prima amtrice
M1=[0,0];
for (i=1:n)
for (j=1:m)
M1(i,j)=input('dammi i valori in matrice M1>>');
end
end
disp('la mia matrice è:');
M1
%seconda amtrice
M2=[0,0];
for (i=1:n)
for (j=1:m)
M2(i,j)=input('dammi i valori in matrice M2>>');
end
end
disp('la mia matrice è:');
M2
%somma
somma=M1+M2
disp('la somma è:');
somma
alcuni commenti: le matrici devono avere le stesse dimensioni quindi basta prenderle in ingresso una sola volta, la struttura del for in matlab è for (...) ... else ... end, prima del ciclo for non è necessario inizializzare le variabili di conteggio
ed infine il bello di Matlab (Matrix Laboratory) è proprio che per sommare due matrici non devi fare nessun ciclo
%Somma matrici
clear all
close all
clc
n=input('dammi il numero di righe>>');
m=input('dammi il numero di colonne>>');
%prima amtrice
M1=[0,0];
for (i=1:n)
for (j=1:m)
M1(i,j)=input('dammi i valori in matrice M1>>');
end
end
disp('la mia matrice è:');
M1
%seconda amtrice
M2=[0,0];
for (i=1:n)
for (j=1:m)
M2(i,j)=input('dammi i valori in matrice M2>>');
end
end
disp('la mia matrice è:');
M2
%somma
somma=M1+M2
disp('la somma è:');
somma
grazie mille..
:):) sei stato gentilissimo:)
