How to write this fuction in Matlab? I have an example code in Python

How to write this fuction in Matlab?
Someone wrote it in Python like this:
def b(r):
return b_1 - (b_1 - b_2) / (r_2 - r_1) * (r - r_1)

 采纳的回答

Assuming that b_1, b_2, r_1, r_2 are constants:
% As anonymous function:
r_1 = rand; % Define the constants
r_2 = rand;
b_1 = rand;
b_2 = rand;
b = @(r) b_1 - (b_1 - b_2) / (r_2 - r_1) * (r - r_1);
% Or as a function:
function out = b(r)
r_1 = rand; % Define the constants
r_2 = rand;
b_1 = rand;
b_2 = rand;
out = b_1 - (b_1 - b_2) / (r_2 - r_1) * (r - r_1);
end

更多回答(2 个)

Hi, your function contains four parameters, so the python code is incomplete. You can do this several ways in MATLAB, classic syntax would be:
% Test call
myVar = bFunName(10)
myVar = -5
% function definition
function b = bFunName(r)
b_1 = 1;
b_2 = 2;
r_2 = 3;
r_1 = 4;
b = b_1 - (b_1 - b_2) / (r_2 - r_1) * (r - r_1);
end
b= @(r) b1 - ((b1-b2)*(r-r1))/(r2 -r1);
where b1,b2,r1,r2 are constants

类别

帮助中心File Exchange 中查找有关 Call Python from MATLAB 的更多信息

产品

版本

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by