drukowanie zmiennej w postaci macierzy

drukowanie zmiennej w postaci macierzy
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0
Kopiuj
N=input('wymiar macierzy: ')
A=round(100*rand(N,N));
A(A<10)=0;
A(A>90)=inf;
ilosc_liczb=sum(sum(a>=30&a<=50));
B=(A(A>=30&A<=50));
disp(strcat(['Macierz A po przekształceniach ma postać : ', num2str(A), '.']))

Nie rozumiem co jest nie tak w funkcji disp. Mogę np. wyświetlić ilosc_liczb, ale już macierzy A lub B nie.

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
1

Aby skorzystać z konkatenacji przy pomocy operatora [], musisz mieć zmienną o ilości wierszy 1
zmienna ilosc_liczb jest skalarem, liczbą a zmienna A jest macierzą o wymiarach N x N
możesz korzystać z funkcji mat2str

Kopiuj
disp(A)
disp(['a', num2str(transpose(A(:))), 'b'])
disp(['a', mat2str(rand(3,5)), 'b'])

btw matlab jest case senstive zmienna A różni się od zmiennej a

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0

@reptile333, mógłbyś zerknąć?
8d69fb40d4.png

Kopiuj
x=round(10*rand(1))
if x<3
    wynik=x-1
elseif x>=3 && x<7
    wynik=x*(sin(x))
elseif x>=7
    wynik=1/(x^2+1)
end
Kopiuj
x=1:10
for i = 1:10
    if x(i)<3 ;
        f(i)=x(i)-1 ;
    elseif x(i)>=3 & x(i)<7 ;
        f(i) = x(i)*sin(i);
    else x(i)>=7;
        f(i)=(1/(x(i)^2+1));
    end
end
disp(f)
Kopiuj
for i=1:6
 for j=1:6
     if i~=j
        a(i,j)=1/(i-j);
     elseif i==j
         a(i,j)=0;
     end
 end
end
disp(a)
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 122
0
reptile333 napisał(a):

btw matlab jest case senstive zmienna A różni się od zmiennej a

Wiem o tym, to niedopatrzenie, dziękuję.

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
1

można krócej

Kopiuj
%1
y = @(x) (x < 3) * (x - 1) + (x >= 3 && x < 7) * (x * sin(x)) + (x >= 7) * ((x ^ 2 + 1) ^ -1)
%2
arrayfun(y, 0:10)
%3
a = repmat(1:6, 6, 1)
b = 1 ./ (transpose(a) - a)
b(b == Inf) = 0 lub
b(a == transpose(a)) = 0

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.