how can i convert c code c code to Mat lab code?
显示 更早的评论
#include<stdio.h>
#include<math.h>
int main(){
float x1,y1,x2,y2,vx,vy,len,x3,y3,size;
vx=x1-x2;
vy=y1-y2;
len=sqrt((vx*vx)+(vy*vy));
x3=vx/((len*size)+x1);
y3=vy/((len*size)+y1);
float temp1,temp2,angle;
temp1=y3-y1;
temp2=x3-x1;
angle=atan2(temp1,temp2)+1.57;
return 0;
}
4 个评论
Anusuya Rajendran
2019-3-27
Adam
2019-3-27
You need to learn Matlab in that case! There are links to tutorials from the Mathworks website. If you don't knnow how to code Matlab it wouldn't be all that helpful even if someone just does your work for you and converts that one function into Matlab if you have no idea what to do with it anyway.
Image Analyst
2019-4-1
Try this Learn MATLAB in 2 hours
回答(1 个)
Jan
2019-3-27
This is an invalid C code. You use e.g. x1, x2, size, without defining it. It is meaningless to post the conversion of invalid C code to invalid Matlab code. But if you really want to fail in another language:
vx=x1-x2;
vy=y1-y2;
len=sqrt((vx*vx)+(vy*vy));
x3=vx/((len*size)+x1);
y3=vy/((len*size)+y1);
temp1=y3-y1;
temp2=x3-x1;
angle=atan2(temp1,temp2)+1.57;
That's it - a 1-by-1 copy. Not working also.
2 个评论
Walter Roberson
2019-4-1
You would probably want to replace the 1.57 with pi/2
Walter Roberson
2019-4-1
The code Jan posted is likely not exactly the same as the C code.
The C code uses float for variables. In C, float refers to single precision numbers. MATLAB typically uses double precision instead. To match the C, the code would probably have to deliberately use single() on each input parameters, to force what is likely to be a double precision input to instead use single precision.
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!