坚持学习matlab,虽然自己的编程能力很低,但是我还是要继续学

Problem 43294. Can we make a triangle?

function flag = Is_Triangle(a, b, c)
if a+b>c&&a+c>b&&b+c>a
    flag=true;
else
   flag=false;
end
end

Problem 43599. Find the sides of an isosceles triangle when given its area and height from its base to apex

function y = sidesOfTheTriangle(A,h)
  a=2*A/h;
  b=sqrt(h^2+(a/2)^2);
  y=[b b a];
end

Problem 42855. Height of a right-angled triangle

function y = triangle_height(a, b, c)
if a>0&&b>0&&c>0  
   if a^2+b^2==c^2
       y=a*b/c;
   else
       y=NaN;
   end
else
  y=NaN;  
end

Problem 558. Is the Point in a Triangle?

function y = your_fcn_name(Points, Triangle)
y=zeros(1,size(Points,1));
for i=1:size(Points,1)
a=Triangle-Points(i,:);
for j=1:3
    theta(j)=acos(dot(a(j,:),a(mod(j,3)+1,:))/norm(a(j,:),2)/norm(a(mod(j,3)+1,:),2));
end
if abs(sum(theta)-2*pi)<=1e-6
    y(i)=1;
end
end
end

Problem 1103. Right Triangle Side Lengths (Inspired by Project Euler Problem 39)

function c = right_triangle_sides(p)
k=1;
for a=1:floor(p/(sqrt(2)+2))
        b=(p^2-2*a*p)/(2*p-2*a);
        if mod(b,1)==0
            d(k,1:3)=[a,b,sqrt(a^2+b^2)];
            k=k+1;
        end
    end
    c=cell(1,k-1);
    for i=1:k-1
        c{i}=d(i,:);
    end
end

Problem 43236. Find my daddy long leg (No 's')

function d = myDaddyLongLeg(x,ratio)
ratio = 16/9;
y=x/sqrt(1+ratio*ratio);
z=ratio*y;
if z>y
    d=z;
else
    d=y;
end
end

Problem 769. Calculate the area of a triangle between three points

function y = your_fcn_name(X,Y)
Z=[X;Y];
A=Z(:,1)';
B=Z(:,2)';
C=Z(:,end)';
AB=[B-A 0];
AC=[C-A 0];
y=cross(AB,AC);
y=0.5*norm(y);
end

Problem 713. Find the maximum number of decimal places in a set of numbers

function y = find_max_sigdec(x)
  [m,n]=size(x);
z=zeros(m,n);
for i=1:m
    for j=1:n
a = num2str(x(i,j));
b = find(a=='.');
c= length(a)-b;
if length(c)==0
    c=0;
end
z(i,j)=c;
    end
end
y=max(max(z));
end

Problem 43278. Make roundn function

function y = myroundn(x,n)
  y = round(x,n-1);
end

Problem 2120. Rounding off numbers to n decimals

function y = myround(x,n)
  y = round(x,n);
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值