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 个评论

What attempt you made to convert this simple c function to MATLAB?
I don't know how to code in matlab
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.

请先登录,再进行评论。

回答(1 个)

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 个评论

You would probably want to replace the 1.57 with pi/2
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!

Translated by