Error creating matrix using a integer and vector in Matlab
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Syed Masoom
am 15 Sep. 2020
Bearbeitet: Steven Lord
am 16 Sep. 2020
I'm having trouble understanding why I can''t declare a matrix by using the following declaration A = [1 x x.^2 x.^3]; where x is from a column vector of 1x50 double
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Steven Lord
am 16 Sep. 2020
Bearbeitet: Steven Lord
am 16 Sep. 2020
madhan ravi has told you how to do this but I want to explain why your original approach didn't work.
If x is a column vector with 50 elements it has 50 rows (if it were a 1x50 array it would be a row vector.) The number 1 has 1 row. You can't horizontally concatenate an array with one row and an array with 50 rows and have them form a rectangular array as you can see here:
bar([1 2], [1 50])
You could make that 1 an array with the same number of rows as x:
x = (1:10).';
A1 = [ones(size(x)), x, x.^2, x.^3];
Though I'd probably reverse the order of the columns to match the convention of functions like polyfit and polyval.
A2 = x.^(3:-1:0)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!