Cody

Solution 65038

Submitted on 23 Mar 2012 by Aurelien Queffurust
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
% test for 'KRON' usage fid = fopen(which('mykron'),'r'); c=onCleanup(@()fclose(fid)); tline=fgetl(fid); while ischar(tline) if (strfind(tline,'=kron')>0), error('Don''t use kron'); end if (strfind(tline,' kron')>0), error('Don''t use kron'); end if (strfind(tline,'+kron')>0)|(strfind(tline,'*kron')>0), error('Don''t use kron'); end if (strfind(tline,'-kron')>0), error('Don''t use kron'); end tline = fgetl(fid) end;

tline = [ma,na] = size(A); tline = [mb,nb] = size(B); tline = '' tline = '' tline = '' tline = % At least one input is sparse, result is sparse. tline = '' tline = [ia,ja,sa] = find(A); tline = [ib,jb,sb] = find(B); tline = ia = ia(:); ja = ja(:); sa = sa(:); tline = ib = ib(:); jb = jb(:); sb = sb(:); tline = ka = ones(size(sa)); tline = kb = ones(size(sb)); tline = t = mb*(ia-1)'; tline = ik = t(kb,:)+ib(:,ka); tline = t = nb*(ja-1)'; tline = jk = t(kb,:)+jb(:,ka); tline = K = sparse(ik,jk,sb*sa.',ma*mb,na*nb); tline = '' tline = '' tline = '' tline = '' tline = %This code written by profile_id 2391181 tline = -1

2   Pass
%% test 1 x =1:3; y =2:4; y_correct = [2 3 4 4 6 8 6 9 12]; assert(isequal(mykron(x,y),y_correct))

3   Pass
%% test 2 x = randi(10,3,3); y = 2:4; z_correct = kron(x,y); assert(isequal(mykron(x,y),z_correct))