generate unit vectors based on matrix size

1 view (last 30 days)
function [] = lanczos(A, m)
A = readmatrix('output1.txt','Whitespace',' []');
[n,k] = size(A);
V = zeros(k,k);
%V(:,2) = rand(k,1);
V(:,2)=[1 0 0 0 0 0 0 0 0 0 0]';
the v(:,2) is assigned based on matrix size ,which i did manually.But i need it to be created automaticaly based on matrix size.
for suppose if matrix is of size 5*5 then V(:,2)=[1 0 0 0 0]
if matrix is of size 7*7 then V(:,2)=[1 0 0 0 0 0 0]
if matrix is of size 100*100 then V(:,2)=[1 0 0 0 0........] i can't hand write such long vector so i need it to be generated automaticaly based on matrix size.

Accepted Answer

James Tursa
James Tursa on 16 Oct 2019
Edited: James Tursa on 16 Oct 2019
Why not just V(1,2) = 1;
Or if you really need to explicitly set those 0’s then start with V(:,2) = 0; followed by the above.
  3 Comments
Steven Lord
Steven Lord on 16 Oct 2019
The variables v (lower-case) and V (upper-case) are two different variables.
v = 'abracadabra';
V = 1:5;
whos
In the example above whos shows that v and V have different sizes, bytes, and classes.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!