多参数的积分问题。。。

news/2024/7/8 5:23:01 标签: function, fun, nested, 图形

转自:http://www.chinavib.com/thread-42369-1-1.html

有不少人常问带参数的积分问题该如何处理,现举一个例子,希望能起到抛砖引玉的作用.
%%%-------------------------------------------------------%%%
例如以下问题:
函数为 y=sin(k.*x).*x.^2,对x积分,
积分区域为【1,5】,目的是要画 k 和 y 的图形.
%%%==============================%%%
%%% 作k的一个循环, k作为 inline函数的参数即可.
clear all
k=linspace(0,5);
for i=1:length(k)
    kk=k(i);
    fun=strcat('sin(',num2str(kk),'*x).*x.^2');
    y(i)=quadl(inline(fun),1,5);
end
plot(k,y)
%%%==============================%%%

第一种是利用匿名函数(Anonymous Function),第二种是利用内嵌函数(Nested Function)
方法一:
clear all
kk=linspace(0,5);
y=zeros(size(kk));
ff=@(k) ['sin(',num2str(k),'*x).*x.^2'];
f=@(k) quadl(ff(k),1,5);
for ii=1:length(kk)
y(ii)=f(kk(ii));
end
plot(kk,y)
方法二:
新建m文件
function>function y=shuzhijifen(k)
function>function f=f(x)
f=sin(k.*x).*x.^2;
end
y=quadl(@f,1,5);
end
保存之,然后运行
clear all
kk=linspace(0,5);
y=zeros(size(kk));
for ii=1:length(kk)
y(ii)=shuzhijifen(kk(ii));
end
plot(kk,y)

 

 

方法一:

clear all
k=linspace(1,5);
for i=1:length(k)
    kk=k(i);
    fun=['sin(',num2str(kk),'*x).*x.^2'];
    y(i)=quadl(inline(fun),1,5);
end
plot(k,y)

 

方法二:

clear all
k=linspace(1,5);
for i=1:length(k)
    kk=k(i);
    fun=inline(subs('sin(k*x)*x^2','k',kk));
    y(i)=quadl(fun,1,5);
end
hold on;
plot(k,y,'r')


http://www.niftyadmin.cn/n/1174584.html

相关文章

php如何判断IP为有效IP地址

不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。判断是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// its valid}else {// its not valid}判断是否是合法的IPv4 IP地址if(filter_var($ip, FILTER_VALIDATE_IP, FILTE…

stm32f4工xun案例代码04 循迹整个地图以及小车控制

//避障 void Collision_Avoidance(void) {Set_Go_Step(300,300);while(!Check_Go_Step(80));tracking_flag0;car_speed_forward0; // delay_ms(400);Set_Spin_Step(90,800);while(!Check_Spin_Step(5));set_spin_step_flag1;Set_Go_Step(500,800);while(!Check_Go_Step(80)); /…

mysql基础操作和密码找回

mysql基础操作和密码找回 一、设置修改mysql root 用户密码 1.命令行的方式修改密码    最常使用 mysqladmin -uroot -p原始密码 password NEW PASSWD; 2.SQL语句修改密码 注:此方法适合密码丢失,mysql无校验方法启动修改 update my…

多变量的核密度估计(multivariate kernel density estimation)

转自:http://fedc.wiwi.hu-berlin.de/xplore/ebooks/html/spm/spmhtmlnode18.html Multivariate Kernel Density Estimation

在centos6.9上实现软RAID

在centos6.9上实现软RAID什么是RAID?RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。 通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。 目…

把DataTable转换为ListT

前一篇有学习过《把List<T>转换为DataTable》http://www.cnblogs.com/insus/p/8043173.html 那此篇&#xff0c;将是学习反向&#xff0c;把DataTable转换为List<T>。这个方法使用的较多。很多情况之后&#xff0c;从数据读出来的数据是DataSet或是DataTable。需要…

proc meminfo DirectMap4K 2M 1G

Linux 系统 /proc/meminfo 中的 DirectMap2M / DirectMap4k 是什么意思&#xff1f; 这和内核内存管理相关&#xff0c;我理解不深不细&#xff0c;试答。DirectMap2M / DirectMap4k指直接映射(direct mapping)的内存大小&#xff0c;从代码上来看&#xff0c;这两个值记录管理…

attempt to reference field of non-structure array

matlab 中莫名出现错误&#xff1a; 双击打开maltab workspace中的.m文件&#xff0c;出现错误对话框&#xff1a;“matlab attempt to reference field of non-structure array”。 错误原因和解决方法&#xff1a; 因为我在set path中添加了work目录中的文件&#xff0c;待我…