Я хочу написать скрипт, который сначала запрашивает некоторые входные данные:
A = input('Enter a square matrix A: ');
и, если это не квадратная матрица, будет отображаться ошибка, а затем снова будет запрашиваться ввод матрицы A
и, основываясь на измерении A, программа в командной строке запрашивает следующие данные: (предположим, что размерность A равна 3)
Enter 3x1-matrix B:
Enter 1x3-matrix C:
Затем запрашиваются начальные значения x (0), где они равны 3 x (0) в нашей ситуации:
The initial values:
x1(0):
x2(0):
x3(0):
(Примечание: количество x (0) зависит от размера A. Мы можем сохранить начальные значения в переменных x1, x2 и x3)
Как я могу написать это в Matlab?
спасибо заранее!
=======================
моя попытка:
while(true)
A = input('Enter square matrix A: ');
sizeA = size(A);
if sizeA(1) == sizeA(2)
break;
end
display('Error: You have to enter square matrix!')
end
while(true)
B = input('Enter ' + sizeA(1) + 'x1-matrix B: ');
sizeB = size(A);
if sizeB(1) == sizeA(1) && sizeB(2) == 1
break;
end
display('Error: You have to enter ' + sizeA(1) + 'x1-matrix!')
end
while(true)
C = input('Enter 1x' + sizeA(1) + '-matrix C: ');
sizeC = size(A);
if sizeC(1) == 1 && sizeC(2) == sizeA(1)
break;
end
display('Error: You have to enter 1x' + sizeA(1) + '-matrix!')
end
display('The initial values: ');
% well, I don't know how to start writing the code for the initial values
========================
Наконец-то я получил то, что хочу
while(true)
A = input('Enter square matrix A: ');
sizeA = size(A);
if sizeA(1) == sizeA(2) && ndims(A) == 2
break;
end
display('Error: You have to enter square matrix!')
end
while(true)
B = input(['Enter ' , num2str(sizeA(1)) , 'x1-matrix B: ']);
sizeB = size(B);
if sizeB(1) == sizeA(1) && sizeB(2) == 1 && ndims(B) == 2
break;
end
display(['Error: You have to enter ' , num2str(sizeA(1)) , 'x1-matrix!'])
end
while(true)
C = input(['Enter 1x' , num2str(sizeA(1)) , '-matrix C: ']);
sizeC = size(C);
if sizeC(1) == 1 && sizeC(2) == sizeA(1) && ndims(C) == 2
break;
end
display(['Error: You have to enter 1x' , num2str(sizeA(1)) , '-matrix!'])
end
display('The initial values: ');
for i=1:sizeA(1)
x(i) = input(['Enter X' , num2str(i) , '(0): ']);
end