如题,求帮忙编matlab函数,要求如下

2020-11-17 21:36:42 字数 4662 阅读 5929

1楼:匿名用户

先用2除取余数

根据余数决定是否继续用3乘加一

给你提供思路啦,编程的话 还是要自己动手吧 ~~

哪位大侠帮忙编个matlab程序要求如下 20

2楼:匿名用户

function m=func(n,s)

m=15*s+21*n-1/25*(11.67*s-51*n)*(sign(11.67*s-51*n)+1)/2-3/100*(90*n-51.

6*s)*(sign(90*n-51.6*s)+1)/2;

if s>0 && s<100000

else

m=10000;

endif(n>0 && n<120002)else

m=10000;

end之后就可以用fminsearch或者ga算法进行求解了

3楼:卜项离

% m=15*s+21*n-1/25(11.67*s-51*n)*j-3/100*(90*n-51.6*s)g

% 0=0时j=1否则j=0,当90*n-51.6*s>=0时g=1否则g=0

% s+0.45n<=10000

% 球当m最大时n和s的值并求出最大的m

m_max = 0;

for s = 1:9999

for n = 1:120001

if(11.67*s-51*n>=0)

j = 1;

else

j = 0;

endif(90*n-51.6*s>=0)

g = 1;

else

g = 0;

endif(s+0.45*n<=10000)

m = 15*s+21*n-1/25*(11.67*s-51*n)*j-3/100*(90*n-51.6*s)*g;

if(m > m_max)

m_max = m;

n_max = n;

s_max = s;

endend

endend

disp(['最大的m为: ' num2str(m_max)]);

disp('最大值对应的n和s为:')

disp(['n = ' num2str(n_max)]);

disp(['s = ' num2str(s_max)]);

结果是:

最大的m为: 406642.548

最大值对应的n和s为:

n = 22220

s = 1

不知道对不对,纯粹是双循环硬方法搜索的,计算时间有点长,不知道能不能优化

编写一个matlab脚本程序,实现输出字母的功能,具体要求如下:

4楼:匿名用户

c=input('请输入一个字符:','s');

if c>='a' & c<='z';

disp(setstr(abs(c)+1));

elseif c>='a'& c<='z';

disp(setstr(abs(c)-1));

else

disp(c);

end请输入一个字符:e

f迈特莱博

用matlab编写一个程序

5楼:匿名用户

子函数:

function y = subfun(t)index = find(t < -5);

if size(index) ~= 0

x = t(1, index);

y1 = (x.^3 + 5*x -10) / 6;

endindex = find((t>=-5)&(t<5));

if size(index) ~= 0

x = t(1, index);

y2 = exp(x-1);

endindex = find(t >= 5);

if size(index) ~= 0

x = t(1, index);

y3 = log10(7*x+4); %不确定你用的是以多少为底的对数,此处是10.

endy = [y1 y2 y3];

调用函数:

x = -10: 0.05: 10;

y = subfun(x);

plot(x, y);

6楼:匿名用户

这个分段就可以了,再取间隔值,很容易。。。

如x=-10:0.02:10;

y = 3*x^2;

plot(y);

7楼:玩野啊

在m-file edit中:

function subfun(a,b)

x=a:0.01:

b; %a,b为你所要的自变量取值范围y=(x.^3+5*x-10)/6.*(x+5<0)+exp(x-1).

*(-5<=x<5)+log(7*x+4).*(x>=5);

plot(x,y)

保存后,在***mand window下输入subfun(-10,10)就可以了……

分段函数都可以引入一个向量,自变量在某个范围内为1,否则为0,上述**中的(x+5<0),(-5<=x<5),和(x>=5)就是了……

还要注意的是用".*",而不是"*"

请帮助我编写一下这道题matlab的程序或者lingo的程序,如图

8楼:匿名用户

还有东西没有交代清楚吧,比如 r 的数据啊?

简单转化 lingo **如下:

sets:

thei/1..17/:p,v;

thej/1..4/:r;

theij(thei,thej):x;

endsets

min=@sum(thei(i)|i#gt#8:x(i,4)*p(i));

@for(thej(j)|j#lt#3:

@sum(thei(i):v(i)*x(i,j))<=r(j)

);@for( thei(i)|i#lt#7:

@sum(thej(j)|j#lt#3:x(i,j))=1

);@for( thei(i)|i#gt#8:

@sum(thej(j)|j#lt#3:x(i,j))=1

);data:

!r=?;

enddata

编写一个m文件,实现分段函数…如下……matlab

9楼:匿名用户

function y=f(x)

if x<=-1

y=x^2+1;

else if x<1

y=0;

else

y=x^2;end

用matlab编写一个函数使其产生如下分段函数 f(x)=0.5x x<=2 1.5-0.25x 26 并调用此函数

10楼:久久不能记住

建立名为myfun.m的m文件,内容如下:

function f=myfun(x)

f=0.5*x.*(x<=2)+(1.5-0.25*x).*(x>2).*(x<=6)+0.5*(x>6);

之后绘制[0,2]内 f(x)*f(x+2)的曲线x=0:.1:2;

y=myfun(x).*myfun(x+2);

plot(x,y)

绘制f(x)的曲线

x=0:.1:10;

y=myfun(x);

plot(x,y)

matlab 中ilaplace函数的使用问题,请帮忙修改一下程序

11楼:匿名用户

zpk 是控制系统工具箱的函数,创建的是零极点形式的传递函数模型,对于这类对象,并没有定义ilaplace函数。ilaplace是针对符号类型(sym)对象定义的函数。

对于如题主所给的这种较为简单的模型(单输入单输出,无延迟,且系统阶次不高),可以通过简单的转换,由zpk对象得到sym对象,再进行拉氏逆变换:

>>g=zpk(,[-1],1)

zero/pole/gain:

1-----

(s+1)

>>[n,d]=tfdata(g,'v');

>>g_s=poly2sym(n,'s')/poly2sym(d,'s')

g_s=

1/(s+1)

>>ilaplace(g_s)

ans=

1/exp(t)

12楼:我行我素

zpk函数返回的是模型,不可用作ilaplace函数的输入参数。ilaplace的输入参数必须是函数及自变量,如:

syms a s x

f = 1/(s - a)^2;

ilaplace(f, x)

结果:ans =

x*exp(a*x)

matlab编程中的函数问题,如图,可以帮忙解释一下用fminbnd函数求极小值

13楼:匿名用户

这个函数求的是局部极小值点,只会返回一个极小值点