2015-10-13 2 views
1

У меня есть функция MATLAB, которая принимает матрицу длины n и использует гауссовское исключение с частичным поворотным вычислением для вычисления Ax = b. A является n x n, а b равно n x 1.Создание скрипта, который принимает матрицы размера n и размера n x 1

Я пытаюсь создать сценарий, который генерирует случайные числа, а затем вызывает функцию с этими числами. До сих пор у меня есть

A = rand(n) 
b = rand(n, 1) 
genp(r, r) 

но так как n не определено, оно не работает. Лучший способ создать переменную n и присвоить ей случайное целое?

+2

См: [ 'randi'] (http://www.mathworks.com/help/matlab/ref/randi.html). – excaza

+0

Да ...? Поскольку вы (я полагаю) создаю тестовый скрипт, выбор произвольного размера для тестовой системы в порядке. – TroyHaskin

ответ

0

Да, лучший способ - создать переменную n. То, что вы хотите, (возможно):

n = 10;  % Change this if you want different sized data 
A = rand(n); 
b = rand(n,1); 
genp(A,b); 

Таким образом, вы можете легко изменить размер ваших данных, просто изменив n. Основываясь на this question, я предполагаю, что вы хотите gen(A,b), а не gen(r,r), как вы написали в своем вопросе.

Если вы хотите случайный n каждый раз при вызове функции, проверить randi

+0

Спасибо! Если бы я хотел, чтобы n было случайным целым числом от 1 до 10, как бы я это сделал? – jqdc2224

+0

@ jqdc2224. вы проверили ссылку «randi» в ответе? –

+0

Как получить матрицу с размерами 2n + 1 x 2n + 1? Я пытаюсь использовать randi (10, 2n + 1), но я получаю Unexpected выражение MATLAB – jqdc2224

Смежные вопросы