🌍首页
📁归档
⏳时光机
🚩友链
📫留言
📧订阅
🌟推荐
📕考研课程
🏜️ 免费壁纸
❤ 捐助本站
💰资助名单
🎵音乐实验
Search
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
20,145 阅读
2
论文写作中如何把word/wps里面所有数字和字母替换为新罗马字体
10,704 阅读
3
【高数】形心计算公式讲解大全
9,080 阅读
4
Vivado-FPGA Verilog烧写固化教程
8,072 阅读
5
【概论】一阶矩、二阶矩原点矩,中心矩区别与概念
7,854 阅读
🪶微语&随笔
励志美文
我的随笔
工作办公
📡电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
⌨️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
/
注册
18(共108篇)
找到
108
篇与
18
相关的结果
- 第 8 页
2021-05-09
嵌入式实战—应用open调用内核open,应用close调用内核close通信程序
摘要本文介绍了如何通过应用层调用内核层open和close函数实现通信程序。首先创建目录和下载Makefile文件,编写hello.c和app.c程序,编译并运行,观察通信现象,最后讲解退出方法。关键词:嵌入式系统, open调用, 内核通信, Linux驱动程序, 应用层程序应用open调用内核open,应用close调用内核close通信程序 1.在TM命令窗口中,不要进入sudo -s,先创建一个普通目录 mkdir liu 2.下载已经配置好的Makefile文件(在虚拟机liunx系统浏览器输入tiie.cn网址,找到本文,下载Makefile文件),将这个文件移动到创建的liu文件夹内,如果下载后名称不是Makefile,重命名下载的文件为Makefile SICARM云盘-Makefile文件 下载地址:http://pan-yz.chaoxing.com/download/downloadfile?fleid=609396534180687872&puid=84519098 提取码: ::(你懂的) ::(你懂的) 不是我吹,我的云盘下载速度吊打某度云,免费不限速 3.进入root模式 ,创建驱动程序: hello.c程序, vim hello.c 注意不要改名字,否则可能会报错,这个makefile配置的是hello.c不能改名字的!!!非高手怕报错,将下面所有东西,全部放在liu文件夹内 提示:下面程序直接在liunx浏览器里面复制即可,不用敲,很多同学容易敲错,报错找不到问题所在。 程序中liuhangyu可改成你的名字 #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/cdev.h> #include <linux/kdev_t.h> #include <linux/fs.h> //file_operations MODULE_LICENSE ("GPL"); int i = 10; struct file_operations ops; struct cdev mycdev; int major = 100; int minor = 1; dev_t dev; int j= 0; int k= 0; int myopen(struct inode *pinode,struct file *pfile) { j++; printk(KERN_INFO "liuhangyu myopen run j= %d\n",j); return 0; } int myclose(struct inode *pinode,struct file *pfile) { k++; printk(KERN_INFO "liuhangyu myclose run k= %d\n",k); return 0; } void liuhangyu_init(void) { int ret; mycdev.owner=THIS_MODULE; dev = MKDEV(major,minor); ret = register_chrdev_region(dev,1,"liuhangyu"); if(ret==-1) { printk(KERN_INFO "dev cant't use\n"); ret = alloc_chrdev_region(&dev,1,1,"liuhangyu"); //automatic allocation dev if(ret==0) { printk(KERN_INFO "alloc : major= %d\n",MAJOR(dev)); } else { printk(KERN_INFO "alloc error\n"); return ; } } else { printk(KERN_INFO "dev can use\n"); } ops.owner=THIS_MODULE; ops.open=myopen; ops.release=myclose; cdev_init(&mycdev,&ops); cdev_add(&mycdev,dev,1); //mycdev send dev,equipment 1 return ; } static int __init hello_init (void) { i ++; liuhangyu_init(); //init printk (KERN_INFO "driver init,i = %d\n",i); return 0; } static void __exit hello_exit (void) { i ++; printk (KERN_INFO "driver exit,i = %d\n",i); unregister_chrdev_region(dev,1); cdev_del(&mycdev); } module_init (hello_init); module_exit (hello_exit); 4.保存下一步分别输入 make 回车 insmod hello.ko回车 5.完成后打开第二TM窗口,在同目录下,创建同理app.c程序,这个是应用层程序。 #include "stdio.h" #include "fcntl.h" #include "unistd.h" #include "stdlib.h" int main() { int fd; int q = 0; while(1) { fd = open("./liuhangyu",O_RDWR,0777) ; if(fd==-1) { printf("open error\n"); return -1; } q ++; printf("liuhangyu open run q = %d\n",q); sleep (8); close(fd); q ++; printf("liuhangyu close run q = %d\n",q); sleep (8); } return 0; }6.输入 mknod ./liuhangyu c 100 1 7.输入 gcc -o app app.c 8.输入./app观察2个窗口现象,每隔几秒给第一个窗口输入dmesg可以看到通信是成功的 图片 图片 以上则完成全部测试,下面讲解退出 9.输入键盘敲Ctrl+C强制退出app程序 10 分别输入rmmod hello.ko回车,make clean回车 好下课!
嵌入式&系统
刘航宇
5年前
10
856
11
2021-05-01
matlab实现灰度图像空间域滤波
摘要本文介绍了使用Matlab实现灰度图像空间域滤波的方法,包括均值、中值和高斯滤波,并比较了不同滤波方案的效果。实验通过读取图像、添加噪声、应用不同滤波器,展示了滤波前后图像的变化。关键词:matlab, 灰度图像, 空间域滤波, 均值滤波, 中值滤波实验目的:掌握采用图像灰度图像空间域平滑、去噪的一般方法方法,并编程实现。 实验内容:编程实现灰度图像空间域滤波:至少包括 3×3、5×5窗口的均值滤波与中值滤波,并比较不同方案增强后的效果及影响因素。 实验平台:Matlab 实验代码: %matlab实现灰度图像空间域滤波,自定义窗口的均值、中值、高斯滤波,189064238刘航宇 try %步骤一:彩色、灰度变换 h=imread('D:\图片\image\liu.jpg'); %读入彩色图片 subplot(2,2,1),imshow(h);title('原图'); %显示原图像 c=rgb2gray(h); %把彩色图片转化成灰度图片,256级 subplot(2,2,2),imshow(c),title('原始灰度图象'); %显示原始图象 g=imnoise(c,'gaussian',0.1,0.002); %加入高斯噪声 subplot(2,2,3),imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后的图象 %步骤二:用系统预定义滤波器进行均值滤波 n=input('请输入均值滤波器模板大小\n'); A=fspecial('average',n); %生成系统预定义的3X3滤波器 Y=filter2(A,g)/255; %用生成的滤波器进行滤波,并归一化 figure,imshow(Y),title('用系统函数进行均值滤波后的结果'); %显示滤波后的图象 %步骤三:用Matlab系统函数进行中值滤波 n2=input('请输入中值滤波的模板的大小\n'); Y1=medfilt2(g,[n2 n2]); %调用系统函数进行中值滤波,n2为模板大小 figure,imshow(Y1),title('用Matlab系统函数进行中值滤波之后的结果'); %显示滤波后的图象 %步骤四:用matlab系统函数进行高斯滤波 n3=input('请输入高斯滤波器的均值\n'); k=input('请输入高斯滤波器的方差\n'); A2=fspecial('gaussian',k,n3); %生成高斯序列 Y2=filter2(A2,g)/255; %用生成的高斯序列进行滤波 figure,imshow(Y2),title('用Matlab函数进行高斯滤波之后的结果'); %显示滤波后的图象 catch %捕获异常 disp(lasterr); %如果程序有异常,输出 endps:方差填1,2,3,4任意一个即可 步骤及其实验现象: 图片 然后输入模板大小 图片 然后产生三个图窗 图片 图片 图片 然后输入 clc;clear 重新输入本代码,完成5*5模板,在此不再赘述。 结果分析: 请自行上网查询均值、中值、高斯滤波区别、学习。
通信&信息处理
刘航宇
5年前
0
599
5
2021-04-24
基于DSP实现FIR滤波器实验解答
摘要本文介绍了基于DSP实现4阶FIR滤波器的实验过程,包括硬件配置、汇编代码编写和实验现象分析。实验使用80MHz主频和20MHz晶振,通过定时器实现125us的定时,通过端口4进行8进8出操作。关键词:DSP,FIR滤波器,80MHZ,20MHZ,4阶滤波器主频80MHZ,晶振20MHZ,定时125us,4阶滤波器,0.1,0.2,-0.1,-0.2,端口4进8出实现: asm程序 .title "FIR.asm" .mmregs .def _c_int00 STACK .usect "stk",10H .sect "vectors" x .usect "x",4 h .usect "h",4 .bss y,1 PA4 .set 4 PA8 .set 8 .data table .word 1*32768/10 .word 2*32768/10 .word -1*32768/10 .word -2*32768/10 .text _c_int00: LD #0006h,DP STM #STACK+10H,SP SSBX INTM RSBX SXM STM #0825H,PMST STM #0669H,TCR STM #3007H,CLKMD STM #999,PRD STM #008H,IMR STM #0FFFH,IFR SSBX FRCT STM #h,AR2 RPT #3 MVPD table,*AR2+ STM #y,AR5 STM #x+3,AR1 STM #h+3,AR2 STM #3,AR0 STM #x,AR4 FIR: PORTR PA4,*AR3 LD *AR1-,T MPY *AR2-,A ;4 LTD *AR1- MAC *AR2-,A ;3 LTD *AR1- MAC *AR2-,A ;2 LTD *AR1+0 MAC *AR2+0,A ;1 STH A,*AR5 PORTW *AR5,PA8 RETE loop: B loop B _c_int00 nop nop NMT rete nop nop nop SINT17 .space 4*14*16 TIN0: rsbx intm rete NOP NOP .space 4*18*16 TINT: B FIR nop nop .endcmd文件 MEMORY {PAGE 0: VECS: origin=0800H,length=0500H PROG: origin=1600H,length=0500H DATA: origin=2400H,length=0500H PAGE 1: BSS: origin=0300H,length=0200H XSPACE: origin=0500H,length=0010H HSPACE: origin=0510H,length=0010H STACK: origin=0600H,length=0500H } SECTIONS { .data :>DATA PAGE 0 .text :>PROG PAGE 0 vector :>VECS PAGE 0 .bss :>BSS PAGE 1 x :>XSPACE PAGE 1 h :>HSPACE PAGE 1 .stk :>STACK PAGE 1 }实验现象: 图片 波形: 图片
通信&信息处理
刘航宇
5年前
1
717
2
2021-04-18
爱要及时说出口【双语美文】
摘要一个患癌症的男孩在生命的最后时刻鼓起勇气向喜欢的女孩表白,留下纸条表达爱意。母亲发现后,男孩已经离世,留下满满一柜子的未拆CD,每张CD里都有一张纸条,男孩用这种方式表达爱意。关键词:及时表达爱意,癌症,青春爱情故事,双语美文,情感故事图片 There was once a guy who suffered from cancer, a cancer that can't be cured. He was 18 years old and he could die anytime. All his life, he was stuck in his house being taken cared by his mother. He never went outside but he was sick of staying home and wanted to go out for once. So he asked his mother and she gave him permission. 曾有一男孩,患了不治之癌。他才18岁,但生命随时会结束。一直以来,男孩都被困在屋子里,由他的母亲照料。男孩从未出去过,但他厌倦了一直窝在家里,想出去走一走。男孩因此询问他的母亲,并得到了母亲的同意。 {mp3 name="朗读" url="https://d3.s.hjfile.cn/2015/201506_4/3a8286f7-5138-4db3-b7ca-c2a008a977d6.mp3" cover="" theme="#f0ad4e" autoplay="autoplay"/} He walked down his block and found a lot of stores. He passed a CD store and looked through the front door for a second as he walked. He stopped and went back to look into the store. He saw a beautiful girl about his age and he knew it was love at first sight. He opened the door and walked in, not looking at anything else but her. He walked closer and closer until he was finally at the front desk where she sat. 男孩出了门,路过了许多家店。经过一家卖CD的音像店时他看了眼前门。男孩停了下来,并走回去又往店里看了看。他看见一个漂亮的女孩,年龄大约和他一般大。男孩意识到他一眼就爱上了这女孩。他打开了这家店的门,走了进去,什么也不看,就只看着她。男孩越走越近,直到来到这女孩坐着的前台。 She looked up and asked, "Can I help you?" 女孩抬起头来问道:“有什么需要帮忙的吗?” She smiled and he thought it was the most beautiful smile he has ever seen before and wanted to kiss her right there. 女孩笑了笑,男孩认为这是他见过的最美丽的笑容,他甚至想当场就亲吻这女孩。 He said, "Uh... Yeah... Umm... I would like to buy a CD." 他说道:“呃…是的…嗯…我想买张CD。” He picked one out and gave her money for it. 男孩随便挑了一张出来并把钱递给女孩。 "Would you like me to wrap it for you?" she asked, smiling her cute smile again.“ 需要我帮你把它包起来吗?”女孩问,脸上又露出可爱的微笑。 He nodded and she went to the back. She came back with the wrapped CD and gave it to him. He took it and walked out of the store. 男孩点了点头,女孩走到前台的后面。回来的时候女孩拿着包装好了的CD,交给了男孩。他拿了过来,然后走出了这家店。 He went home and from then on, he went to that store every day and bought a CD, and she wrapped it for him. He took the CD home and put it in his closet. He was still too shy to ask her out and he really wanted to but he couldn't. His mother found out about this and told him to just ask her. So the next day, he took all his courage and went to the store as usual. He bought a CD like he did every day and once again she went to the back of the store and came back with it wrapped. He took it and when she wasn't looking, he left his phone number on the desk and ran out... 男孩回到了家。从那以后,他每天都会来这家店,买一张CD,然后女孩就给他包装起来。男孩把CD带回家,放进他的衣橱里。他还是很害羞,不敢把她约出来。他真的很想,但是他做不到。男孩的母亲知道了此事后,就告诉他,只管把她约出来就好了。于是第二天,男孩鼓起了全部的勇气,像往常一样来到了店里。像过去那样,他还是买了一张CD,而女孩也还是走到后面,回来的时候再把包装好的CD交给他。男孩接了过来,趁女孩不注意,他把他的电话号码留在了桌子上,然后跑了出去… RRRRRING!!! “铃铃铃铃铃铃…” One day the phone rang, and the mother picked it up and said, "Hello?" 一天,电话响了起来。男孩的母亲接起电话说道,“你好?” It was the girl!!! The mother started to cry and said, "You don’t know? He passed away yesterday..." 是那个女孩!!!男孩的母亲开始哭了起来,说道:“你不知道吗?他昨天就去世了…” The line was quiet except for the cries of the boy's mother. Later in the day, the mother went into the boy's room because she wanted to remember him. She thought she would start by looking at his clothes. So she opened the closet. 电话里安静了下来,只听到男孩母亲啜泣的声音。之后,男孩的母亲来到了他的房间,缅怀她的儿子。男孩的母亲想先看一看男孩的衣物。于是她打开了男孩的衣柜。 She was face to face with piles and piles and piles of unopened CDs. She was surprised to find all these CDs and she picked one up and sat down on the bed and she started to open one. Inside, there was a CD and as she took it out of the wrapper, out fell a piece of paper. The mother picked it up and started to read it. It said: Hi... I think U R really cute. Do u wanna go out with me? Love, Jocelyn. 在她的面前,是一摞又一摞的CD。看到这么多的CD,男孩的母亲感到很惊讶。她随手拿出一张,坐在了男孩床上。她拆开了包装,把CD拿了出来。一张纸条掉了出来。男孩的母亲捡起了纸条,开始读起来。上面写着:你好…我觉得你真的很可爱。你想和我出去约会吗?爱你的,乔瑟琳。 The mother was deeply moved and opened another CD... 男孩的母亲被深深打动了,拆开了另一张CD… Again there was a piece of paper. It said: Hi... I think U R really cute. Do u wanna go out with me? Love, Jocelyn. 又发现了另一张纸条。上面写着:你好…我觉得你真的很可爱。你想和我出去约会吗?爱你的,乔瑟琳。 Love is... when you've had a huge fight but then decide to put aside your egos, hold hands and say, "I Love You." 爱就是…当你万般挣扎过后,把自我放到一边,握住对方的手,说:“我爱你。”
励志美文
刘航宇
5年前
4
527
2
2021-04-01
基于点处理的图像增强matlb实现线性变换和直方图均衡
摘要本文探讨了基于点处理的图像增强方法,包括灰度分段线性变换和直方图均衡化,并使用MATLAB进行实验验证。这些方法旨在改善图像对比度和可读性,提高图像质量。关键词:图像增强, 灰度变换, 直方图均衡化, MATLAB, 图像处理引言 图像增强是图像处理中的基本内容之一,在图像处理中占有非常重要的地位。图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。 增强的首要目标是处理图像,使其比原始图像更适合于特定应用。图像增强的方法主要分为两类: 空间域增强法和频域增强法。“空间域”一词是指图像平面本身,这类方法是以对图像像素直接处理为基础的;“频率域”处理技术是以修改图像的傅氏变换为基础的。 增强处理可将其灰度范围拉伸到0-255 的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。 基于点处理的图像增强方法有:灰度线性变换、灰度非线性变换、灰度分段线性变换和直方图均衡化,本文主要讨论灰度分段线性变换和直方图均衡化对图像的增强,并用MATLAB进行实验验证。 图像增强的研究意义 图像增强是数字图像处理的最基本的方法之一,它是为了改善视觉效果或便于人或机器对图像的分析理解,根据图像的特点或存在的问题,以及应用目的所采取的改善图像质量的方法或加强图像的某些特征的措施。图像在成像、采集、运输、复制等过程中不可避免地会造成某些降质。如在成像过程中由于光学系统会导致图像失真,不同的光照条件会使图像的曝光度差异很大,运动状态下成像会使图像模糊;而在传输过程中,各种噪声和干扰将污染图像。因此,通常需要对降质的图像进行预处理,以满足后期处理及分析的需要。图像复原是改善图像的一类方法,这类方法会尽可能还原图像的本来面目,追求提高图像的保真度。而图像增强则是一类追求图像可懂度的方法,通过处理有选择地突出某些感兴趣的信息,便于人或机器分析这些信息,抑制一些无用的信息,以提高图像的使用价值。 图像增强处理后的图像比原始图像更适合于具体应用。由于成像和传输过程的差异性很大,决定了图像增强的方法只能有选择性地使用。实际应用时,需要根据所针对的处理图像、需要解决的问题以及最终要达到的效果等情况,合理选择合适的图像增强算法,并做适当的优化。 图像增强处理后的图像比原始图像更适合于具体应用。由于成像和传输过程的差异性很大,决定了图像增强的方法只能有选择性地使用。实际应用时,需要根据所针对的处理图像、需要解决的问题以及最终要达到的效果等情况,合理选择合适的图像增强算法,并做适当的优化。 实验目的 1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。 2、掌握灰度分段线性变换的图像增强方法。 3、学会用直方图均衡化对图像进行增强。 实验内容 一、灰度分段线性变换 1、理论基础: 在某些情况下,为了将图像灰度级整个范围(AB) 或其中某一段扩展或压缩到另一灰度范围(z1,zk) 质内,称灰度的线性变换。 图片 图片 分段线性变换和灰度的线性变换有点类似,都用到了灰度的线性变换。但不同之处在于分段线性变换不是完全的线性变换,而是分段进行线性变换。将图像灰度区间分成两段乃至多段,分别作线性变换称之为分段线性变换,如图,分段线性变换的优点是可以根据用户的需要,拉伸特征物体的灰度细节,相对抑制不感兴趣的灰度级。图中的(0,a),(a,b),(b,255)等变换区间边界能通过键盘随时做交换式输入,因此,分段线性变换是非常灵活的。它的灰度变换函数如图所示,函数表达式如下: 图片 式中,(a,c)和(b,d)是图中两个转折点坐标。 该变换函数的运算结果是将原图在a和b之间的灰度拉伸到c和d之间。通过选择的拉伸某段灰度区间,能够更加灵活地控制图像灰度直方图的分布,以改善输出图像量。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来拉伸(斜率>1)物体灰度区间以改善图像质量;同样如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率<1)物体灰度区间以改善图像质量。 2、程序设计: clc; clear all; %刘航宇 X1=imread('图片路径'); subplot(2,2,1),imshow(X1);title('原图'); f0=0;g0=0;%折线点赋值 f1=20;g1=10; %参数自己改动,不要完全复制我的 f2=130;g2=180; f3=255;g3=255; subplot(2,2,2),plot([f0 f1 f2 f3],[g0 g1 g2 g3]); axis tight,xlabel('f'),ylabel('g'),title('灰度变换曲线'); r1=(g1-g0)/(f1-f0);%第一段折线的斜率 b1=g0-r1*f0;%计算截距1 r2=(g2-g1)/(f2-f1); b2=g1-r2*f1; r3=(g3-g2)/(f3-f2); b3=g2-r3*f2; [m,n]=size(X1); for i=1:m for j=1:n f=X1(i,j); if(f<f1) g(i,j)=r1*f+b1; elseif(f>=f1)&(f<=f2) g(i,j)=r1*f+b1; else(f>=f2)&(f<=f3) g(i,j)=r3*f+b3; end end end subplot(2,2,3),imshow(g);title('灰度变换后');3、运行结果: 图片 二、直方图均衡化 1、理论基础: (1)直方图的定义 在图像处理中提到的直方图是指灰度直方图。它定义为统计图像中具有某种灰度的像素数目(或频率=像素数目/图像总的像素个数)的函数。灰度直方图概括了图像中各灰度级的含量,提供了原图的灰度值分布情况[12],也可以说给出了1幅图所有灰度值的整体描述。 什么是灰度直方图呢?灰度直方图(histogram)是灰度级的函数,它表示图像中具有每种灰度级的象素的个数,反映图像中每种灰度出现的频率[8]。 设变量r代表图像中像素灰度级。在图像中,像素的灰度级可作归一化处理,这样,r的值将限定在下述范围之内: 0 ≤ r ≤ 1 在灰度级中,r=0代表黑,r=1代表白。对于一幅给定的图像来说,每一个像素取得[0,1]区间内的灰度级是随即的,也就是说r是一个随即变量。假定对每一瞬间它们是连续的随即变量,那么,就可以用概率密度函数pr(r)来表示原始图像的灰度分布。如果用直角坐标系的横轴代表灰度级r,用纵轴代表灰度级的概率密度函数pr(r),这样就可以针对一幅图像在这个坐标系中作一条曲线来。这条曲线在概率论中就是分布密度曲线(见图2.1) 图片 从图像灰度级的分布可以看出一幅图像的灰度分布特性。例如上图中的两个灰度密度分布函数中可以看出: (a)的大多数像素灰度值取在较暗的区域,所以这幅图像较暗,一般在摄影过程中暴光过强就会造成这种后果;而(b)图像的像素灰度值集中在亮区,因此,图像(b)的特性将偏亮,一般在摄影中暴光太脆弱将导致这种结果。当然,从两幅图像的分布来看图像的质量均不理想。 为了有利于数字图像处理,必须引入离散形式。在离散形式下,用rk代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立: 图片 (2)灰度直方图 面积为A的连续图像f(x,y)经数字化后,成为M行N列的数字图象f(m,n)。一般而言,在数字图像f(m,n)中取不同灰度值的像素的数目是不同的。直方图是用于表达图像灰度分布情况的统计图表[4]。其横坐标是灰度值r,纵坐标是出现这个灰度值的概率密度p(r)(对连续图像f(x,y)而言),或者是出现这个灰度值的概率值p(ri)(对数字图像f(m,n)而言),参见图2.3。 图片 图片 (3)直方图均衡化 直方图均衡化是图象增强中点运算的一种最常用的直方图修正法[10]。其实质是减少图像的灰度等级以换取对比度的扩大。它把给定图像的直方图分布改造成均匀直方图分布,其本质是扩大了量化间隔,减少量化级别。因此,会出现这样的效果,原来灰度不同的象素经处理后可能变为相同,形成了一片相同灰度的区域;各区域之间有明显的边界,出现伪轮廓,图像的对比度增加。但是由于在均衡化过程中,原直方图上频数较少的灰度级被并入少数几个或一个灰度级,对应的图像部分将得不到增强。直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布[5]。 对于图像的灰度变换,我们这里介绍一种稍微复杂一点的方法,既直方图均衡化。直方图均衡化是灰度变换的一个重要应用,广泛应用在图像增强处理中,它是以累计分布函数变换为基础的直方图修正法,可以产生一幅灰度级分布具有均匀概率密度的图像,扩展了像素的取值动态范围。若像素点的原灰度为R,变换后的灰度为S,需要注意的是R、S是归一化后的灰度值,其灰度变换函数T()为: 图片 2.统计原始图像各灰度级的像素数目nk 3.计算原始图像直方图各灰度级的频率数 4.计算原始图像的累计直方图 5.取整计算:Sk=int[(N-1)tk+k/N] 6.确定映像关系:Sk-->tk 7统计新直方图各个灰度级的像素Nk 8.计算新的直方图:pt(tk)=nk/N 2、程序设计: clear all %预处理,彩图灰度化 PS=imread('图片位置');%读入彩色图像文件 imshow(PS) %显示出来 title('输入的彩色图像') %刘航宇 imwrite(rgb2gray(PS),'PicSampleGray.bmp'); %将彩色图片灰度化并保存 PS=rgb2gray(PS); %灰度化后的数据存入数组 %二、绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 end figure,bar(0:255,GP,'g') %绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %三、直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %算sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i))); %计算现有每个灰度级出现的概率 end figure,bar(0:255,GPeq,'b') %显示均衡化后的直方图 title('均衡化后的直方图') xlabel('灰度值') ylabel('出现概率') %四、图像均衡化 PA=PS; for i=0:255 PA(find(PS==i))=S2(i+1); %各个像素归一化赋给这个像素 end figure,imshow(PA) %显示均衡化后的图像 title('均衡化后图像') imwrite(PA,'PicEqual.bmp'); %图片格式自己改改,中文描述改改,不要光复制我的程序 3、运行结果: 原图: 图片 图片 图片 图片 4、结果分析: 直方图均衡化是图像增强技术的基本方法,本文分析了这种处理方法的基本理论,并用Matlab 进行实验,结果表明,直方图均衡化在一定程度上改善了图像的对比度差和灰度动态范围,增强了图像的可读性,提高了地物的可分性,有利于进行遥感图像的目视解译。 该算法简单,是一种行之有效的图像增强算法。
通信&信息处理
刘航宇
5年前
1
1,056
6
2021-03-24
格林、斯托克斯、高斯三大公式
摘要本文介绍了格林、斯托克斯、高斯三大公式的应用和方向要求,包括格林公式需逆时针,高斯公式外侧,斯托克斯公式需符合右手法则。关键词:格林公式, 高斯公式, 斯托克斯公式, 逆时针方向, 右手法则格林公式方向需要逆时针 图片 图片 高斯公式要外侧 图片 图片 斯托克斯要符合右手法则 图片 图片 图片 图片
我的随笔
刘航宇
5年前
0
789
4
2021-03-18
马尔科夫链讲解(Markov)
摘要马尔可夫链是一种具有马尔科夫性质的离散事件随机过程,通过状态转移矩阵计算转移概率。其核心是状态转移矩阵,可用于预测系统状态变化。满足细致平稳条件的马尔可夫链具有平稳分布。关键词:马尔可夫链, PageRank, 状态转移矩阵, 马尔科夫模型, 细致平衡条件说到马尔可夫链,在机器学习界真是无人不知,无人不晓。谷歌用于确定搜索结果顺序的算法,称为PageRank,就是一种马尔可夫链。在卷积网络出现之前,HMM马尔可夫模型也是语音处理的常用方法。到底什么才是马尔可夫链,之前看了几个介绍特别生动,这里总结一下: 马尔可夫链 马尔科夫链是指数学中具有马尔科夫性质的离散事件随机过程。在其每一步中,系统根据概率分布可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。 下图中有两种状态:A和B。如果我们在A,接下来可以过渡到B或留在A。如果我们在B,可以过渡到A或者留在B。在这张图中,从任意状态到任意状态的转移概率是0.5。 默认图片 真正的建模工作者不会总是就画一张马尔科夫链图。 相反,他们会使用“转移矩阵”来计算转移概率。状态空间中的每个状态都会出现在表格中的一列或者一行中。矩阵中的每个单元格都告诉你从行状态转换到列状态的概率。因此,在矩阵中,单元格做的工作和图中的箭头所示是一样。在状态转移矩阵中,行和列都是可能的所有状态,对应位置就是已知行状态,转移到列状态的概率。 默认图片 如果状态空间添加了一个状态,我们将添加一行和一列,向每个现有的列和行添加一个单元格。 这意味着当我们向马尔可夫链添加状态时,单元格的数量会呈二次方增长。因此,转换矩阵就起到了很大的作用(除非你想把法尔科夫链图画的跟丛林一样)。 状态转移矩阵 从上面可以看出,整个马尔可夫链中的核心就是状态转移矩阵。以股市模型为例,假设初始状态为,然后算之后的状态。 def markov(): init_array = np.array([0.1, 0.2, 0.7]) transfer_matrix = np.array([[0.9, 0.075, 0.025], [0.15, 0.8, 0.05], [0.25, 0.25, 0.5]]) restmp = init_array for i in range(25): res = np.dot(restmp, transfer_matrix) print i, "\t", res restmp = res markov() 输出结果: 0 [ 0.295 0.3425 0.3625] 1 [ 0.4075 0.38675 0.20575] 2 [ 0.4762 0.3914 0.1324] 3 [ 0.52039 0.381935 0.097675] 4 [ 0.55006 0.368996 0.080944] 5 [ 0.5706394 0.3566873 0.0726733] 6 [ 0.58524688 0.34631612 0.068437 ] 7 [ 0.59577886 0.33805566 0.06616548] 8 [ 0.60345069 0.33166931 0.06487999] 9 [ 0.60907602 0.32681425 0.06410973] 10 [ 0.61321799 0.32315953 0.06362248] 11 [ 0.61627574 0.3204246 0.06329967] 12 [ 0.61853677 0.31838527 0.06307796] 13 [ 0.62021037 0.31686797 0.06292166] 14 [ 0.62144995 0.31574057 0.06280949] 15 [ 0.62236841 0.31490357 0.06272802] 16 [ 0.62304911 0.31428249 0.0626684 ] 17 [ 0.62355367 0.31382178 0.06262455] 18 [ 0.62392771 0.31348008 0.06259221] 19 [ 0.624205 0.3132267 0.0625683] 20 [ 0.62441058 0.31303881 0.06255061] 21 [ 0.624563 0.31289949 0.06253751] 22 [ 0.624676 0.3127962 0.0625278] 23 [ 0.62475978 0.31271961 0.06252061] 24 [ 0.6248219 0.31266282 0.06251528]从第18次开始,状态就开始收敛至。 如果我们换一个初始状态,比如,继续运行上面的代码,只是将init_array变一下,最后结果为: 0 [ 0.35 0.38 0.27] 1 [ 0.4395 0.39775 0.16275] 2 [ 0.4959 0.39185 0.11225] 3 [ 0.53315 0.378735 0.088115] 4 [ 0.558674 0.365003 0.076323] 5 [ 0.5766378 0.3529837 0.0703785] 6 [ 0.5895162 0.34322942 0.06725438] 7 [ 0.59886259 0.33561085 0.06552657] 8 [ 0.6056996 0.32978501 0.06451539] 9 [ 0.61072624 0.32538433 0.06388944] 10 [ 0.61443362 0.32208429 0.06348209] 11 [ 0.61717343 0.31962047 0.0632061 ] 12 [ 0.61920068 0.31778591 0.06301341] 13 [ 0.62070185 0.31642213 0.06287602] 14 [ 0.62181399 0.31540935 0.06277666] 15 [ 0.62263816 0.31465769 0.06270415] 16 [ 0.62324903 0.31410005 0.06265091] 17 [ 0.62370187 0.31368645 0.06261168] 18 [ 0.62403757 0.31337972 0.06258271] 19 [ 0.62428645 0.31315227 0.06256128] 20 [ 0.62447096 0.31298362 0.06254542] 21 [ 0.62460776 0.31285857 0.06253366] 22 [ 0.62470919 0.31276586 0.06252495] 23 [ 0.62478439 0.31269711 0.0625185 ] 24 [ 0.62484014 0.31264614 0.06251372]到第18次的时候,又收敛到了!这个转移矩阵就厉害了。不管我们的初始状态是什么样子的,只要状态转移矩阵不发生变化,当时,最终状态始终会收敛到一个固定值。 马尔可夫链细致平稳条件 首先,马尔科夫链要能收敛,需要满足以下条件: 可能的状态数是有限的。 状态间的转移概率需要固定不变。 从任意状态能够转变到任意状态。 不能是简单的循环,例如全是从x到y再从y到x。 由前面的例子我们不难看出,当与的n次幂相乘以后,发现得到的向量都会收敛到一个稳定值,而且此稳定值与初始向量 无关!那么所有的转移矩阵都有这种现象嘛?或者说满足什么样的条件的转移矩阵会有这种现象? 细致平衡条件(Detailed Balance Condition):给定一个马尔科夫链,分布 和概率转移矩阵,如果下面等式成立: 默认图片 则此马尔科夫链具有一个平稳分布(Stationary Distribution)。
通信&信息处理
刘航宇
5年前
0
1,000
1
2021-03-14
liunx系统创建并运行实战一个c程序及常用指令指导
摘要本文介绍了在Linux系统下创建并运行C程序的方法,包括进入超级管理员模式、使用Vim编辑器编写代码、使用gcc编译器编译代码、运行编译后的程序等步骤。同时,还列举了Linux系统中的常用指令和vi编辑器的使用方法。关键词:Linux, C程序, 编程实战, 命令指导, 系统管理{mtitle}liunx系统运行实战一个c程序{/mtitle} 学习liunx系统有利于嵌入式、云服务器等学习。 下面我们实战创建并运行一个三角图形c程序 首先 su rooot 进入超级管理员模式 如果你没有超级管理员账号,想搞一个可以看本站嵌入式其他帖子创建永久超级管理员账号办法,或者按课本上代码临时进入root模式 然后输入 ls 指令查看目录 然后输入 cd 你选的目录名 创建c程序 vim test.c 键盘“a”键可以直接进入编辑模式 输入代码例如: #include <stdio.h> int main() { int i,j,n; printf("input ranks n\n"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=0;j<=i;j++) printf("*"); printf("\n"); } return 0; }或者更换 for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=n-i-1;j<n;j++) printf("*"); printf("\n"); }输入完C代码后,记得“ESC”键切换,输入“:wq”保存退出 然后gcc test.c 打完gcc test.c编译完C源文件。然后就可以看见a.out的文件。一般linux系统就默认为a.out为编译完的文件。现在运行a.out文件。在a.out文件的目录下打开终端并输入 ./a.out 就是运行文件了。 示例图解: 图片 对于回文数可以参考下面代码,我们不妨先取倒序,将本数先输出,再输出倒序数则生成回文数。要让计算的结果倒序输出.现总结一下思路: 1.如果要把一个数倒序输出,即对10求模,可以得到尾数; 2.然后将这个数除以10;这样个位就被舍去;然后如此循环即可 3.直到求模结果为0;证明这个数已经求到个位; #include <stdio.h> int main() { int h; printf("Enter the number\n"); scanf("%d",&h); if(h==0) { printf("%d",h); } printf("%d",h); while(h>0) { printf("%d",h%10); h=h/10; } return 0; } 参考图例: 回文数图片 {mtitle}Linux基本命令{/mtitle} uname -a 查看内核版本 ls -al 显示所有文件的属性 pwd 显示当前路径 cd - 返回上一次目录 cd ~ 返回主目录 date s 设置时间、日期 cal 显示日历 cal 2006 bc 计算器具 man & info 帮助手册 locale 显示当前字体 locale -a 所有可用字体 /etc/sysconfig/i18n设置文件 LANG=en 使用英文字体 sync 将数据同步写入硬盘 shutdonw -h now & half & poweroff 关机 reboot 重启 startx & init 5 进入图形介面 /work & ?work 向上、下查找文档内容 chgrp 改变档案群组 chgrp testing install.log chown 改变所属人 chown root:root install.log chmod 改变属性 chmod 777 install.log read=4 write=2 execute=1 cp 复制 cp filename rm 删除文件 rm -rf filename 强制删除文件 rmdir 删除文件夹 mv 移动 mv 123.txt 222.txt 重命名 mkdir 创建文件夹 touch 创建文件 更新当前时间 cat 由第一行开始显示 cat |more 分页 nl 在内容前加行号 more & less 一面一面翻动 head -n filename 显示第N行内容 tail -n filename 显示后N行内容 od 显示非纯文档 df -h 显示分区空间 du 显示目录或文件的大小 fdisk 分区设置 fdisk -l /dev/hda 显示硬盘分区状态 mkfs 建立各种文件系统 mkfs -t ext3 /dev/ram15 fsck 检查和修复LINUX档案 ln 硬链接 ln -s 软件链接 whereis 查找命令 locate 查找 find 查找 find / -name "." which 查看工具 whoami 显示当前用户 gcc -v 查看GCC版本 chattr +i filename 禁止删除 chattr -i filename 取消禁止 lsattr 显示隐藏档属性 updatedb 更新资料库 mke2fs 格式化 mkfs -t ext3 dd if=/etc/passwd of=/tmp/passwd.bak 备份 mount 列出系统所有的分区 mount -t iso9660 /dev/cdrom /mnt/cdrom 挂载光盘 mount -t vfat /dev/fd0 /mnt/floppy 挂载软盘 mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 挂载fat32分区 mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 挂载ntfs分区 umount /mnt/hda3 缷载 ifconfig 显示或设置网络设备 service network restart 重启网卡 ifdown eth0 关闭网卡 ifup eth0 开启网卡 clear 清屏 history 历史记录 !55 执行第55个指令 stty 设置终端 stty -a fdisk /mbr 删除GRUB at 僅進行一次的工作排程 crontab 循環執行的例行性命令 [e]编辑,[l]显示,[r]删除任务 & 后台运行程序 tar -zxvf 123.tar.gz & --------->后台运行 jobs 观看后台暂停的程序 jobs -l fg 将后台程序调到前台 fg n ------>n是数字,可以指定进行那个程序 bg 让工作在后台运行 kill 结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的kill信号 ps aux 查看后台程序 top 查看后台程序 top -d 2 每两秒更新一次 top -d 2 -p10604 观看某个PID top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt pstree 以树状图显示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帐号 killall 要刪除某個服務 killall -9 httpd free 显示内存状态 free -m -------->以M为单位显示 uptime 显示目前系统开机时间 netstat 显示网络状态 netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID dmesg 显示开机信息 demsg | more nice 设置优先权 nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi renice 调整已存在优先权 runlevel 显示目前的runlevel depmod 分析可载入模块的相依性 lsmod 显示已载入系统的模块 modinfo 显示kernel模块的信息 insmod 载入模块 modprobe 自动处理可载入模块 rmmod 删除模块 chkconfig 检查,设置系统的各种服务 chkconfig --list ----->列出各项服务状态 ntsysv 设置系统的各种服务 cpio 备份文件 压缩命令: *.Z compress 程式壓縮的檔案; *.bz2 bzip2 程式壓縮的檔案; *.gz gzip 程式壓縮的檔案; *.tar tar 程式打包的資料,並沒有壓縮過; *.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮 compress filename 压缩文件 加[-d]解压 uncompress gzip filename 压缩 加[-d]解压 zcat 123.gz 查看压缩文件内容 bzip2 -z filename 压缩 加[-d]解压 bzcat filename.bz2 查看压缩文件内容 tar -cvf /home/123.tar /etc 打包,不压缩 tar -xvf 123.tar 解开包 tar -zxvf /home/123.tar.gz 以gzip解压 tar -jxvf /home/123.tar.bz2 以bzip2解压 tar -ztvf /tmp/etc.tar.gz 查看tar内容 cpio -covB > [file|device] 份份 cpio -icduv < [file|device] 还原 深圳-广州-郑州-长沙嵌入式系统实训,凡通过本帖添加咨询报名学习可免费赠送学习现金卷及学习资料一份。详情联系郭老师QQ754634522 vi一般用法 一般模式 编辑模式 指令模式 h 左 a,i,r,o,A,I,R,O :w 保存 j 下 进入编辑模式 :w! 强制保存 k 上 dd 删除光标当前行 :q! 不保存离开 l 右 ndd 删除n行 :wq! 保存后离开 0 移动到行首 yy 复制当前行 :e! 还原原始档 $ 移动到行尾 nyy 复制n行 :w filename 另存为 H 屏幕最上 p,P 粘贴 :set nu 设置行号 M 屏幕中央 u 撤消 :set nonu 取消行号 L 屏幕最下 [Ctrl]+r 重做上一个动作 ZZ 保存离开 G 档案最后一行 [ctrl]+z 暂停退出 :set nohlsearch 永久地关闭高亮显示 /work 向下搜索 :sp 同时打开两个文档 ?work 向上搜索 [Ctrl]+w 两个文档设换 gg 移动到档案第一行 :nohlsearch 暂时关闭高亮显示 认识SHELL alias 显示当前所有的命令别名 alias lm="ls -al" 命令别名 unalias lm 取消命令别名 type 类似which exprot 设置或显示环境变量 exprot PATH="$PATH":/sbin 添加/sbin入PATH路径 echo $PATH 显示PATH路径 bash 进入子程序 name=yang 设定变量 unset name 取消变量 echo $name 显示变量的内容 myname="$name its me" & myname='$name its me' 单引号时$name失去变量内容
嵌入式&系统
# 嵌入式
刘航宇
5年前
2
533
2
2021-03-14
VM虚拟机开机蓝屏,无限重启等,解决方案
摘要虚拟机开机蓝屏、无限重启问题,可通过移除打印机等不必要设备解决。在虚拟机设置中找到移除选项,关机重启后问题可解决。关键词:VM虚拟机, 蓝屏, 无限重启, 硬件兼容性, 设备移除由于电脑硬件兼容性问题,在虚拟机的设置中将不需要的设备移除,尤其是打印机 全部移除,关机重启,再开就没问题了 图片 设置下方有,移除选项,点击对应栏目移除即可
嵌入式&系统
刘航宇
5年前
1
605
2
2021-03-14
三角函数公式大全适用于数学、信号等领域
摘要本文介绍了三角函数公式大全,包括倒数关系、商的关系、平方关系、导数关系、两角和公式、倍角公式、三倍角公式、半角公式、和差化积、积化和差等,适用于数学、信号等领域。关键词:三角函数, 公式大全, 信号处理, 数学公式, 三角恒等式secx,cscx与sinx,cosx的关系是: 1/cosx=secx,1/sinx=cscx 即secx×cosx=1,cscx×sinx=1。 1、倒数关系: sinx.cscx=1 cosx.secx=1 tanx.cotx=1 2、商的关系: sinx/cosx=tanx tanx/secx=sinx cotx/cscx=cosx 3、平方关系: (sinx)^2+(cosx)^2=1 1+(tanx)^2=(secx)^2 1+(cotx)^2=(cscx)^2 导数关系 图片 两角和公式 sin(A+B) = sinAcosB+cosAsinB sin(A-B) = sinAcosB-cosAsinB cos(A+B) = cosAcosB-sinAsinB cos(A-B) = cosAcosB+sinAsinB 图片 倍角公式 图片 三倍角公式 图片 半角公式 图片 和差化积 图片 积化和差 图片 图片 图片 设α为任意角, +α的三角函数值与α的三角函数值之间的关系:假设α为锐角时,先计算 +α的值,再确定符号,如果n为偶数,则三角函数不变,否则转换函数,同时去掉 ,例如 图片
通信&信息处理
我的随笔
刘航宇
5年前
0
1,877
2
2021-03-13
C语言用“*”输出三角形
摘要本文介绍了C语言中用“*”输出三角形的方法,包括多种实现方式,如使用嵌套循环和条件判断,以及不同循环次数和条件下的输出效果。关键词:C语言, 三角形输出, 星号打印, 循环结构, 控制台程序例如: 图片 #include <stdio.h> int main() { int i,j,n; printf("input ranks n\n"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=0;j<=i;j++) printf("*"); printf("\n"); } return 0; } 图片 for(i=0;i<n;i++) { for(j=0;j<=i;j++) printf("*"); printf("\n"); } printf("\n");图片 for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=0;j<=i;j++) printf("*"); printf("\n"); } 或 for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=n-i-1;j<n;j++) printf("*"); printf("\n"); }图片 for(i=0;i<n;i++) { for(j=0;j<n-i;j++) printf("*"); printf("\n"); } printf("\n");图片 for(i=0;i<n;i++) { for(j=0;j<i;j++) printf(" "); for(j=0;j<n-i;j++) printf("*"); printf("\n"); } 或 for(i=0;i<n;i++) { for(j=0;j<i;j++) printf(" "); for(j=i;j<n;j++) printf("*"); printf("\n"); }图片 for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=n-i-1;j<n+i;j++) printf("*"); printf("\n"); } 或 for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) printf(" "); for(j=0;j<=2*i;j++) //如果是2*i-1,则 j 是从1开始 printf("*"); printf("\n"); }图片 for(i=0;i<n;i++) { for(j=0;j<i;j++) printf(" "); for(j=0;j<2*n-2*i-1;j++) printf("*"); printf("\n"); } 或 for(i=0;i<n;i++) { for(j=0;j<i;j++) printf(" "); for(j=i;j<2*n-i-1;j++) printf("*"); printf("\n"); }
编程&脚本笔记
刘航宇
5年前
0
1,000
1
2021-03-13
【高数】被积函数是高次三角函数用华里士点火公式、欧拉-泊松公式及其推导
摘要本文介绍了高次三角函数积分方法,包括华里士点火公式、欧拉-泊松公式及其推导,并给出了sinx和cosx高次积分的公式。关键词:高次三角函数积分, 华里士点火公式, 欧拉-泊松公式, 三角函数积分推导, 高数积分高次三角函数积分华里士点火Wallis公式、欧拉-泊松公式及其推导 sinx高次积分 n为偶数用I0,奇数用I1图片 其中n为偶数用I0,奇数用I1。 cosx高次积分 n为偶数用I0,奇数用I1图片 其中n为偶数用I0,奇数用I1。 欧拉-泊松公式: 图片 图片 图片
我的随笔
刘航宇
5年前
0
3,602
3
上一页
1
...
7
8
9
下一页