matlab中单对数函数,matlab对数函数-对数函数,MATLAB

本教程分享:《matlab对数函数》,

MATLAB 中如何输入 对数函数

方法/步骤

1、自然数对数 log(x)

我们在MATLAB主窗口中输入a1=log(2.7183),回车,我们可以看到a1近似为1,e约等于2.7183,

2、以2为底数的对数 log2(x)

我们在MATLAB主窗口中输入a2=log2(4) ,回车,可以看到结果a2=2

3、以10为底数的对数 log10(x)

我们在MATLAB主窗口中输入a3=log10(10) ,回车,可以看到结果a3=1

4、其他底数对数logM(N)

这种对数需要进行一个简单的中间变换,logM(N)=log(N)/log(M),这样写方便,用log10() 以及log2()都可以。我们在MATLAB主窗口中输入如下命令:

a4=log(64)/log(8) 回车

我们可以看到 ,以8为底64的对数为2,

在线等。matlab上的对数函数数据拟合。y=algx+b

实验数据:

x=[500 550 600 650 700 750 800 850 900 950 1000];

y=[62.4 69.2 75.4 82.2 70.4 68.4 75.2 77.8 71.6 75.6 72.2];

图中既有曲线也有数据点,最好能求出a,b.

x=[500 550 600 650 700 750 800 850 900 950 1000];

y=[62.4 69.2 75.4 82.2 70.4 68.4 75.2 77.8 71.6 75.6 72.2];

f = fittype('a*log10(x)+b'); % 拟合函数的形式

fit1 = fit(x',y',f,'StartPoint',[x(1) y(1)]);

a = fit1.a; % a的值

b = fit1.b; % b的值

fdata = feval(fit1,x'); % 用拟合函数来计算y

figure

plot(x,y); hold on

plot(x,fdata','r'); hold off

legend('Ori data',' Fitting data');

更多追问追答

追问

能求出a,b值吗?

追答

老大,里面不是有a, b值么,我还做了注释!

追问

哦,知道了。你能尽量多加点注释吗,我是matlab菜鸟。

追答

哦,知道了,你还需要加什么注释么?

追问

以下两句没有注释,看不懂。

fit1 = fit(x',y',f,'StartPoint',[x(1) y(1)]);

legend('Ori data',' Fitting data');

再提问就得扣分了。。。

下面的程序跟你的出图一样,但好像简单些

clc;clear;

x=[500 550 600 650 700 750 800 850 900 950 1000];

y=[62.4 69.2 75.4 82.2 70.4 68.4 75.2 77.8 71.6 75.6 72.2];

plot(x,y);

x_log=log10(x);

A=polyfit(x_log,y,1)

hold on;

plot(x,A(1).*log10(x)+A(2),'r');

追答

fit(x',y',f,'StartPoint',[x(1) y(1)]) 的意思, 是生成一个拟合函数,用的数据是x, y, 注意x'是要将x写成一个n-by-1的向量,y也如此。所以里面是fit(x',y',...). f 是上面定义的拟合函数的形式。'StartPoint'是起始点,定义的起始点x(1),y(1).

legend('Ori data',' Fitting data'); 就是标注两条曲线,第一个是原始曲线,第二个是拟合后的曲线

另一个人用polyfit,这个只能用于多项式拟合。其余的都不行了,我的这个,什么形式的都可以

追问

最后一个问题,为什么要x,y都要转置成列向量?

追答

恩,这个是matlab 自带函数fit所要求的。 fit(x,y,f...)中的x, y必须是要列向量,否则会报错。

在matlab中怎样表示ln?

MatLab中ln 就是log(),

以10为底的对数用log10()

一般地,对数函数以幂(真数)为自变量,指数为因变量,底数为常量的函数。

对数函数是6类基本初等函数之一。其中对数的定义:

如果ax=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为底N的对数,其中a叫做对数的底数,N叫做真数。

一般地,函数y=logax(a>0,且a≠1)叫做对数函数,也就是说以幂(真数)为自变量,指数为因变量,底数为常量的函数,叫对数函数。

其中x是自变量,函数的定义域是(0,+∞),即x>0。它实际上就是指数函数的反函数,可表示为x=ay。因此指数函数里对于a的规定,同样适用于对数函数。

在MATLAB中对数如何表示

log(x):以e为底的对数,即自然对数

log2(x):以2为底的对数

log10(x):以10为底的对数

如何在matlab中求对数?

1、第一步首先介绍自然数对数log(x),电脑中打开matlab之后,在命令行窗口输入a=log(2.7183),按回车键后,可以看到结果近似为1,e的值近似为2.7183,

2、第二步介绍以2为底的对数函数log2(x),在命令行窗口中输入b=log2(8),按回车键,可以看到b=3

3、第三步介绍以10为底的对数函数log10(x),在命令行窗口中输入c=log10(1000),按回车键,可以看到c=3,

4、第四步介绍其它的对数函数logX(Y),这种对数函数要转换成logX(Y)=log(Y)/log(X)格式,在命令行窗口输入d=log(9)/log(3),按回车键,可以看到d的结果为2,

5、第五步我们在matlab的工作区中,可以看到存储的变量结果

matlab中ln函数怎么表示

用log()函数

例如log(exp(1))

输出

1

--------------------------------

注:以2为底的对数函数为log2(),以10为底的对数函数为log10(),其他数为底的对数函数可用换底公式求得

请问matlab怎么编辑任意底数的指数函数和对数函数?

注意取值范围,定义域还有题本生的隐含条件

MATLAB中的自然对数e,是怎么表示的

自然对数是log()函数

自然对数的底数e,也就是自然指数函数exp(x),当x取1时候的值

所以用exp(1)可以获得

用matlab描述以0.5为底的对数图像

网上都是大于一的对数图像,然后用换底公式做出来的对数图像没有0

x=0:1;

y=log(x)/log(1/2);

plot(x,y)

可这样:

x=0:0.01:1;

y=log(x)/log(1/2);

plot(x,y)

matlab拟合对数函数,怎么弄

差距太大了...

差距太大了k

m

matlab拟合对数函数,可以这样来做:

x=[。。。]; y=[。。。]; %已知数据

func=@(a,x)a(1)*log(a(2)*x^4+a(3)*x^3+a(4)*x^2+a(5)*x+a(6))/log(3) %根据拟合精度,可以调整

a0=[0,0,0,0,0,0]; %初值,可以调整

[a,r] = nlinfit(x,y,func,a0) %a拟合系数,r差值

当r比较小(接近于零),说明拟合结果是合理的

有数据吗?如有困难可以通过私信或其他方式帮助你。

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值