finding 2D curvature for a left ventricular plot
이전 댓글 표시
> load('D:\Matlab\315 Big.txt');
Vertices=[sin(r) cos(r)]*10;
Lines=[(1:size(Vertices,1))' (2:size(Vertices,1)+1)']; Lines(end,2)=1;
Na=zeros(size(Vertices,1),1); Nb=zeros(size(Vertices,1),1);
Na(Lines(:,1))=Lines(:,2); Nb(Lines(:,2))=Lines(:,1);
checkNa=Na==0;
checkNb=Nb==0;
Naa=Na;
Nbb=Nb;
Naa(checkNa)=find(checkNa);
Nbb(checkNb)=find(checkNb);
Na(checkNa)=Nbb(Nbb(checkNa));
Nb(checkNb)=Naa(Naa(checkNb));
Ta=-sqrt(sum((Vertices-Vertices(Na,:)).^2,2));
Tb=sqrt(sum((Vertices-Vertices(Nb,:)).^2,2));
Ta(checkNa)=-Ta(checkNa);
Tb(checkNb)=-Tb(checkNb);
x = [Vertices(Na,1) Vertices(:,1) Vertices(Nb,1)];
y = [Vertices(Na,2) Vertices(:,2) Vertices(Nb,2)];
M = [ones(size(Tb)) -Ta Ta.^2 ones(size(Tb)) zeros(size(Tb)) zeros(size(Tb)) ones(size(Tb)) -Tb Tb.^2];
invM=M.^-1;
a(:,1)=invM(:,1,1).*x(:,1)+invM(:,2,1).*x(:,2)+invM(:,3,1).*x(:,3);
a(:,2)=invM(:,1,2).*x(:,1)+invM(:,2,2).*x(:,2)+invM(:,3,2).*x(:,3);
_Index in position 3 exceeds array bounds (must not exceed 1)._
댓글 수: 7
phuah yun
2018년 11월 1일
madhan ravi
2018년 11월 1일
편집: madhan ravi
2018년 11월 1일
select the whole code and press the code button {} so that its easy to read and upload Big.txt file to test
phuah yun
2018년 11월 1일
madhan ravi
2018년 11월 1일
did you read my previous comment??
phuah yun
2018년 11월 1일
Image Analyst
2018년 11월 1일
Edit your question, the click the paper click icon above the edit box.
madhan ravi
2018년 11월 2일
don't close question which has answers
답변 (3개)
madhan ravi
2018년 11월 1일
편집: madhan ravi
2018년 11월 1일
M =load('D:\Matlab\315 Big.txt');
r=4;
Vertices=[sin(r) cos(r)]*10;
Lines=[(1:size(Vertices,1))' (2:size(Vertices,1)+1)']; Lines(end,2)=1;
Na=zeros(size(Vertices,1),1); Nb=zeros(size(Vertices,1),1);
Na(Lines(:,1))=Lines(:,2); Nb(Lines(:,2))=Lines(:,1);
checkNa=Na==0;
checkNb=Nb==0;
Naa=Na;
Nbb=Nb;
Naa(checkNa)=find(checkNa);
Nbb(checkNb)=find(checkNb);
Na(checkNa)=Nbb(Nbb(checkNa));
Nb(checkNb)=Naa(Naa(checkNb));
Ta=-sqrt(sum((Vertices-Vertices(Na,:)).^2,2));
Tb=sqrt(sum((Vertices-Vertices(Nb,:)).^2,2));
Ta(checkNa)=-Ta(checkNa);
Tb(checkNb)=-Tb(checkNb);
x = [Vertices(Na,1) Vertices(:,1) Vertices(Nb,1)];
y = [Vertices(Na,2) Vertices(:,2) Vertices(Nb,2)];
M = [ones(size(Tb)) -Ta Ta.^2 ones(size(Tb)) zeros(size(Tb)) zeros(size(Tb)) ones(size(Tb)) -Tb Tb.^2];
invM=M.^-1;
a(:,1)=invM.*x(1)+invM.*x(2)+invM.*x(3);
댓글 수: 9
madhan ravi
2018년 11월 1일
if it doesn't work upload your text file by clicking the paperclip button
phuah yun
2018년 11월 1일
madhan ravi
2018년 11월 1일
check edited answer
phuah yun
2018년 11월 1일
KSSV
2018년 11월 1일
What made you to change the function? You can straight away use the function eh.
phuah yun
2018년 11월 1일
KSSV
2018년 11월 1일
Clearly int he function invM is a 3D matrix..where as in your case it is not.....so the error. My question is what is stopping you to use the function with out changes? Why did you change it?
phuah yun
2018년 11월 1일
KSSV
2018년 11월 1일
That case..you have to show us what error you got.
Bruno Luong
2018년 11월 1일
0 개 추천
The original code is here:
Sorry but you you don't master the MATH behind, why wasting your time (and our time) to make your horrible modifications?
The way you compute the inverse the matrix tells clearly that you don't have a math background to make any modification.
댓글 수: 8
phuah yun
2018년 11월 1일
Bruno Luong
2018년 11월 1일
If you don't know how to download a FEX and how to use/call it then please ask question in this sense rather than trying to make modification on the code (again it beyond what your level of MATLAB) and ask why it doesn't work.
phuah yun
2018년 11월 1일
Bruno Luong
2018년 11월 1일
Easy, just do what the message tells you "Create functions in code file."
Or you downnload the FEX zip file and unzip it in the working folder, and call it correctly, and not copy past the code in your script.
phuah yun
2018년 11월 1일
Bruno Luong
2018년 11월 1일
I just told you Downnload the FEX zip file and unzip it in the working folder
phuah yun
2018년 11월 1일
Bruno Luong
2018년 11월 1일
Sorry I don't have time to help you. Please post question in separate thread might be someone else is able to help you with basic function calling or read the Matlab Starting Guide.
카테고리
도움말 센터 및 File Exchange에서 Large Files and Big Data에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!