pygame教程

  • 安装pygame
  • Game Development 1-1: Getting Started with Pygame
  • Game Development 1-2: Working with Sprites
  • Game Development 1-3: More About Sprites
  • Pygame Shmup Part 1: Player Sprite and Controls
  • Pygame Shmup Part 2: Enemy Sprites
  • Pygame Shmup Part 3: Collisions (and Bullets!)
  • Pygame Shmup Part 4: Adding Graphics
  • Pygame Shmup Part 5: Improved Collisions
  • Pygame Shmup Part 6: Sprite Animation(精灵动画)
  • Pygame Shmup Part 7: Score (and Drawing Text)
  • Pygame Shmup Part 8: Sound and Music

教程地址

安装pygame

坑:如果使用虚拟解释器中的pygame模块,可能会产生没有提示的副作用

Game Development 1-1: Getting Started with Pygame

游戏主体是一个大循环主要分为三个部分:
处理输入(鼠标键盘事件等等),更新游戏(更新位置坐标,速度属性等)和渲染屏幕(更新屏幕上的图像).

绘制图像就像一个板,我们在后面画上我们要画的东西,然后立刻反转板子,东西就呈现出来了.如此循环往复

import pygame
import random
from pygame.locals import *# 定义初始屏幕大小和游戏帧率
WIDTH = 360
HEIGHT = 480
FPS = 30# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game") # 设置标题clock = pygame.time.Clock()# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新update# 3.渲染绘图screen.fill(BLACK)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Game Development 1-2: Working with Sprites

精灵就是一个对象,如果绘制每个精灵还要更新的话就会很耗时,因此引入了精灵组

坐标原点在左上角

import pygame
import random
from pygame.locals import *# 定义初始屏幕大小和游戏帧率
WIDTH = 880
HEIGHT = 600
FPS =  30# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 定义玩家类
class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.Surface((50,50))self.image.fill(GREEN)self.rect = self.image.get_rect()self.rect.center = (WIDTH/2, HEIGHT/2)def update(self):self.rect.x += 5if self.rect.left > WIDTH:self.rect.right = 0# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game") # 设置标题
clock = pygame.time.Clock()# 创建一个装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
player = Player()
all_sprites.add(player)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新updateall_sprites.update()# 3.渲染绘图screen.fill(BLACK)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Game Development 1-3: More About Sprites

开源游戏素材:https://opengameart.org/
搜索Kenny ke

import pygame
import random
import os
from pygame.locals import *# 定义初始屏幕大小和游戏帧率
WIDTH = 880
HEIGHT = 600
FPS =  30# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 设置assets文件夹(游戏素材)
# E:\xiangyun\代码\AlienBattle\img\sinkar birber.png
game_folder = os.path.dirname(__file__)
img_folder = os.path.join(game_folder, "img")class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)# 添加路径并把图像转换为透明self.image = pygame.image.load(os.path.join(img_folder,"sinkar birber.png")).convert_alpha()# self.image.set_colorkey(BLACK) 把黑色部分转换为透明self.rect = self.image.get_rect()self.rect.center = (WIDTH/2, HEIGHT/2)self.y_speed = 5def update(self):self.rect.x += 1# 使角色看起来上下跳跃self.rect.y += self.y_speedif self.rect.bottom > HEIGHT - 200:self.y_speed = -5if self.rect.top < 200:self.y_speed = 5if self.rect.left > WIDTH:self.rect.right = 0# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game") # 设置标题
clock = pygame.time.Clock()# 创建一个装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
player = Player()
all_sprites.add(player)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新updateall_sprites.update()# 3.渲染绘图screen.fill(BLUE)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Pygame Shmup Part 1: Player Sprite and Controls

shoot em up

"""Shump Game"""
import pygame
import random
from pygame.locals import *# 定义初始屏幕大小和游戏帧率
WIDTH = 480
HEIGHT = 600
# 射击游戏需要高帧率
FPS = 60# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Shmup!") # 设置标题
clock = pygame.time.Clock()class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.Surface((50, 40))self.image.fill(GREEN)self.rect = self.image.get_rect()self.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT - 10self.speedx = 0def update(self):# 加入按键控制self.speedx = 0keystate = pygame.key.get_pressed()if keystate[pygame.K_LEFT] or keystate[pygame.K_a]:self.speedx = -5if keystate[pygame.K_RIGHT] or keystate[pygame.K_d] :self.speedx = 5self.rect.x += self.speedx# 边界约束if self.rect.right > WIDTH:self.rect.right = WIDTHif self.rect.left < 0:self.rect.left = 0# 创建一个装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
player = Player()
all_sprites.add(player)
# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新updateall_sprites.update()# 3.渲染绘图screen.fill(BLACK)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Pygame Shmup Part 2: Enemy Sprites

"""Shump Game"""
import pygame
import random
from pygame.locals import *# 定义初始屏幕大小和游戏帧率
WIDTH = 480
HEIGHT = 600
# 射击游戏需要高帧率
FPS = 60# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Shmup!") # 设置标题
clock = pygame.time.Clock()class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.Surface((50, 40))self.image.fill(GREEN)self.rect = self.image.get_rect()self.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT - 10self.speedx = 0def update(self):# 加入按键控制self.speedx = 0keystate = pygame.key.get_pressed()if keystate[pygame.K_LEFT] or keystate[pygame.K_a]:self.speedx = -5if keystate[pygame.K_RIGHT] or keystate[pygame.K_d] :self.speedx = 5self.rect.x += self.speedx# 边界约束if self.rect.right > WIDTH:self.rect.right = WIDTHif self.rect.left < 0:self.rect.left = 0
# 创建敌方类
class Mob(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.Surface((30, 40))self.image.fill(RED)self.rect = self.image.get_rect()# 设置敌方的出生位置,要在屏幕外面,这样才显得不突兀self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)self.speedx = random.randrange(-3, 3)def update(self, *args):self.rect.x += self.speedxself.rect.y += self.speedyif self.rect.top > HEIGHT + 10 or self.rect.left < -25 or self.rect.right>WIDTH+25:self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)# 创建装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
# 创建敌方精灵组
mobs = pygame.sprite.Group()player = Player()
all_sprites.add(player)
for i in range(8):m = Mob()all_sprites.add(m)mobs.add(m)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新updateall_sprites.update()# 3.渲染绘图screen.fill(BLACK)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Pygame Shmup Part 3: Collisions (and Bullets!)

精灵碰撞检测:检查一个精灵和其他精灵组的碰撞,返回值是一个列表,列表中是和这个精灵发生碰撞的精灵组中的精灵…
dokill是个布尔值,如果设置为真,则所有发生碰撞的精灵组精灵将会移除.
collided是遮罩用于碰撞检测,默认矩形


精灵组碰撞:检测两组精灵组的碰撞,返回一个字典,字典的Key是第一组里面发生碰撞的精灵,而value是第二组中碰撞的精灵.
dokill指的是否消除碰撞精灵

   # 检查碰撞# 检查是否子弹击中敌方dics = pygame.sprite.groupcollide(bullets, mobs, True, True)for dic in dics:m = Mob()all_sprites.add(m)mobs.add(m)# if dic:#     print(dic)hits = pygame.sprite.spritecollide(player, mobs, False)if hits:running = False

Pygame Shmup Part 4: Adding Graphics

"""Shump Game添加了图片,代替小方块(缩放, 加载, 转换)"""import pygame
import random
from os import path
from pygame.locals import *img_dir = path.join(path.dirname(__file__), "img")# 定义初始屏幕大小和游戏帧率
WIDTH = 480
HEIGHT = 600
# 射击游戏需要高帧率
FPS = 60# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Shmup!") # 设置标题
clock = pygame.time.Clock()class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.transform.scale(player_img, (50, 38))self.rect = self.image.get_rect()self.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT - 10self.speedx = 0# 定义玩家射击方法def shoot(self):bullet = Bullet(self.rect.centerx, self.rect.top)all_sprites.add(bullet)bullets.add(bullet)def update(self):# 加入按键控制self.speedx = 0keystate = pygame.key.get_pressed()if keystate[pygame.K_LEFT] or keystate[pygame.K_a]:self.speedx = -5if keystate[pygame.K_RIGHT] or keystate[pygame.K_d] :self.speedx = 5self.rect.x += self.speedx# 边界约束if self.rect.right > WIDTH:self.rect.right = WIDTHif self.rect.left < 0:self.rect.left = 0# 创建敌方类
class Mob(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = meteor_imgself.rect = self.image.get_rect()# 设置敌方的出生位置,要在屏幕外面,这样才显得不突兀self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)self.speedx = random.randrange(-3, 3)def update(self, *args):self.rect.x += self.speedxself.rect.y += self.speedyif self.rect.top > HEIGHT + 10 or self.rect.left < -25 or self.rect.right>WIDTH+25:self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)class Bullet(pygame.sprite.Sprite):def __init__(self, x, y):pygame.sprite.Sprite.__init__(self)self.image = bullet_imgself.rect = self.image.get_rect()self.rect.bottom = yself.rect.centerx = xself.speedy = -10def update(self, *args):self.rect.y += self.speedy# 如果飞出屏幕顶部则销毁if self.rect.bottom < 0:self.kill()# 加载全部游戏图像
background = pygame.image.load(path.join(img_dir, "starfield.png")).convert()
background_rect = background.get_rect()
player_img = pygame.image.load(path.join(img_dir, "playerShip1_orange.png")).convert_alpha()
meteor_img = pygame.image.load(path.join(img_dir, "meteorBrown_med1.png")).convert_alpha()
bullet_img = pygame.image.load(path.join(img_dir, "laserRed16.png")).convert_alpha()
# 创建装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
# 创建敌方精灵组
mobs = pygame.sprite.Group()
# 创建子弹精灵组
bullets = pygame.sprite.Group()player = Player()
all_sprites.add(player)
for i in range(8):m = Mob()all_sprites.add(m)mobs.add(m)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = Falseelif event.type == pygame.KEYDOWN:if event.key == pygame.K_SPACE:player.shoot()# 2.更新updateall_sprites.update()# 检查碰撞# 检查是否子弹击中敌方dics = pygame.sprite.groupcollide(bullets, mobs, True, True)for dic in dics:m = Mob()all_sprites.add(m)mobs.add(m)# if dic:#     print(dic)hits = pygame.sprite.spritecollide(player, mobs, False)if hits:running = False# 3.渲染绘图screen.fill(BLACK)screen.blit(background, background_rect)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Pygame Shmup Part 5: Improved Collisions

圆形碰撞遮罩更符合,可以设置radius实例属性,并

"""Shump Game添加圆形碰撞"""import pygame
import random
from os import path
from pygame.locals import *img_dir = path.join(path.dirname(__file__), "img")# 定义初始屏幕大小和游戏帧率
WIDTH = 480
HEIGHT = 600
# 射击游戏需要高帧率
FPS = 60# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Shmup!") # 设置标题
clock = pygame.time.Clock()class Player(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.transform.scale(player_img, (50, 38))self.rect = self.image.get_rect()# 增加半径属性,可以绘制出⚪来显示范围self.radius = 20# pygame.draw.circle(self.image, RED, self.rect.center, self.radius)self.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT - 10self.speedx = 0# 定义玩家射击方法def shoot(self):bullet = Bullet(self.rect.centerx, self.rect.top)all_sprites.add(bullet)bullets.add(bullet)def update(self):# 加入按键控制self.speedx = 0keystate = pygame.key.get_pressed()if keystate[pygame.K_LEFT] or keystate[pygame.K_a]:self.speedx = -5if keystate[pygame.K_RIGHT] or keystate[pygame.K_d] :self.speedx = 5self.rect.x += self.speedx# 边界约束if self.rect.right > WIDTH:self.rect.right = WIDTHif self.rect.left < 0:self.rect.left = 0# 创建敌方类
class Mob(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = meteor_imgself.rect = self.image.get_rect()self.radius = int(self.rect.width * 0.85 / 2)# pygame.draw.circle(self.image, RED, self.rect.center, self.radius)# 设置敌方的出生位置,要在屏幕外面,这样才显得不突兀self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)self.speedx = random.randrange(-3, 3)def update(self, *args):self.rect.x += self.speedxself.rect.y += self.speedyif self.rect.top > HEIGHT + 10 or self.rect.left < -25 or self.rect.right>WIDTH+25:self.rect.x = random.randrange(WIDTH - self.rect.width)self.rect.y = random.randrange(-100, -40)self.speedy = random.randrange(1, 8)class Bullet(pygame.sprite.Sprite):def __init__(self, x, y):pygame.sprite.Sprite.__init__(self)self.image = bullet_imgself.rect = self.image.get_rect()self.rect.bottom = yself.rect.centerx = xself.speedy = -10def update(self, *args):self.rect.y += self.speedy# 如果飞出屏幕顶部则销毁if self.rect.bottom < 0:self.kill()# 加载全部游戏图像
background = pygame.image.load(path.join(img_dir, "starfield.png")).convert()
background_rect = background.get_rect()
player_img = pygame.image.load(path.join(img_dir, "playerShip1_orange.png")).convert_alpha()
meteor_img = pygame.image.load(path.join(img_dir, "meteorBrown_med1.png")).convert_alpha()
bullet_img = pygame.image.load(path.join(img_dir, "laserRed16.png")).convert_alpha()
# 创建装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
# 创建敌方精灵组
mobs = pygame.sprite.Group()
# 创建子弹精灵组
bullets = pygame.sprite.Group()player = Player()
all_sprites.add(player)
for i in range(8):m = Mob()all_sprites.add(m)mobs.add(m)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = Falseelif event.type == pygame.KEYDOWN:if event.key == pygame.K_SPACE:player.shoot()# 2.更新updateall_sprites.update()# 检查碰撞# 检查是否子弹击中敌方dics = pygame.sprite.groupcollide(bullets, mobs, True, True)for dic in dics:m = Mob()all_sprites.add(m)mobs.add(m)# if dic:#     print(dic)hits = pygame.sprite.spritecollide(player, mobs, False, pygame.sprite.collide_circle)if hits:running = False# 3.渲染绘图screen.fill(BLACK)screen.blit(background, background_rect)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()

Pygame Shmup Part 6: Sprite Animation(精灵动画)

旋转,如果用以下代码,会因为位信息丢失的累加,让图像失真

    # 设置精灵旋转度数,速率       self.rot = 0self.rot_speed = random.randrange(-8, 8)self.last_update = pygame.time.get_ticks()def rotate(self):now = pygame.time.get_ticks()if now - self.last_update > 50:self.last_update = nowself.rot = (self.rot + self.rot_speed) % 360self.image = pygame.transform.rotate(self.image, self.rot) # 这一行会出问题def update(self, *args):self.rotate()

self.image = pygame.transform.rotate(self.image, self.rot) # 这一行会出问题
解决办法:

self.image = pygame.transform.rotate(self.image, self.rot) # 这一行会出问题
由于拷贝的是原始图像,将不会因为失真问题而导致程序崩溃

import pygame
import random
from os import path
from pygame.locals import *img_dir = path.join(path.dirname(__file__), "img")WIDTH = 360
HEIGHT = 480
FPS = 30# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)class Plane(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.orig = plane_imgself.image = self.origself.rect = self.image.get_rect()self.rect.centerx = WIDTH / 2self.rect.bottom = HEIGHT / 2self.rot = 0self.rot_speed = 1self.last_update = pygame.time.get_ticks()def update(self, *args):now = pygame.time.get_ticks()if now - self.last_update > 50:self.last_update = nowself.rot = (self.rot + self.rot_speed) % 360new_img = pygame.transform.rotate(self.orig, self.rot)old_center = self.rect.centerself.image = new_imgself.rect = self.image.get_rect()self.rect.center = old_center# 初始化并创建游戏窗口
pygame.init()
pygame.mixer.init() # 如果需要混音声音
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Test Game") # 设置标题
clock = pygame.time.Clock()
# 必须初始化之后才能加载
plane_img = pygame.image.load(path.join(img_dir, "playerShip1_orange.png")).convert()# 创建一个装有所有精灵的精灵组
all_sprites = pygame.sprite.Group()
plane = Plane()
all_sprites.add(plane)# 游戏循环
running = True
while running:clock.tick(FPS)# 1.处理输入for event in pygame.event.get():# 检查是否关闭窗口事件if event.type == pygame.QUIT:running = False# 2.更新updateall_sprites.update()# 3.渲染绘图screen.fill(BLUE)all_sprites.draw(screen)# 画完了之后翻转显示pygame.display.flip()pygame.quit()


添加列表随机值,让陨石的图像随机出现

Pygame Shmup Part 7: Score (and Drawing Text)

Pygame Shmup Part 8: Sound and Music


pygame教程笔记相关推荐

  1. 台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix逆矩阵法)

    台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix) matrix left division左除:\ or mldivide() solvi ...

  2. 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)

    台湾国立大学郭彦甫Matlab教程笔记(21) today: linear equation 线性方程 linear system 线性系统 我们先看第一部分 linear equation 假定一个 ...

  3. 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)

    台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric) symbolic vs. numeric符号法和数值法的区别对比 symbolic 1)advantages ...

  4. 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration

    台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration 数值积分 calculating the numerical value of a definite inte ...

  5. 台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation

    台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numeric differentiation 复习:diff()函数用来计算vector前后 entry的差异 数值微分继续 various ...

  6. 台湾国立大学郭彦甫Matlab教程笔记(15)polynomial integration 多项式积分

    台湾国立大学郭彦甫Matlab教程笔记(15) Polynomial integration多项式积分 一个多项式和它的积分如下 MATlAB中如何计算积分? polynomial integrati ...

  7. 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分

    台湾国立大学郭彦甫Matlab教程笔记(14) today: polynomial differentiation and integration多项式微分与积分 numerical differen ...

  8. 台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下

    台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下 上文记录的是关于统计的图标的绘制 下面我们来到另一个模块:颜色 fill()填充函数 功能:某一个封闭曲线,图上特 ...

  9. 台湾国立大学郭彦甫Matlab教程笔记(11) advanced 2D plots 上

    台湾国立大学郭彦甫Matlab教程笔记(11) today: 1.advanced 2D plots 2.color space色彩使用 3.3D plots 图形概览,做研究的时候需要选择图形 sp ...

  10. 台湾国立大学郭彦甫Matlab教程笔记(9) basic plotting

    台湾国立大学郭彦甫Matlab教程笔记(9) today: 1.basic plotting 2.graphical objects properties basics matlab has a po ...

最新文章

  1. window 服务(二)
  2. oracle 树 向上查询,Oracle中显示树结构查询语句【子查父和父查子】
  3. 的计时器设置_【教程】PPT课件中常见的计时器效果(2)——沙漏式计时器 | 源文件提供下载...
  4. JS中popup.js
  5. 隐马尔科夫模型C#语言算法实现
  6. WordPress架构简单剖析
  7. C程序设计语言现代方法10:程序结构
  8. 一个“想忘带东西都难”的出行指南
  9. ElasicSearch(2) Linux运行
  10. silverlight将字符串转化为控件
  11. 中兴机顶盒网关服务器超时,中兴机顶盒错误1302连接EPG服务失败解决方法
  12. 毕业四年,我当初是如何走上编程这条路的!
  13. java-se-包装类
  14. 自己开计算机维修,自己维修笔记本电脑
  15. Unity3D自带案例AngryBots分析(二)——人物动作控制逻辑
  16. python中取对数怎么表示_python中取对数
  17. 将qlv类型的视频转换mp4格式的最新做法
  18. unix环境高级编程----进程控制fock()函数
  19. Python 中删除文件的几种方法|好用
  20. n流水线m装配站调度问题

热门文章

  1. Vue之echarts圆饼图详解
  2. Java项目:外卖订餐管理系统(java+SSM+JSP+jQuery+Ajax+mysql)
  3. 压力测试-Jmeter
  4. centos下ftp服务器搭建
  5. Caffe(12)--实现YOLOv2目标检测
  6. 步进电机驱动器的作用以及其调速方法
  7. 电气器件系列三十三:步进电机驱动器
  8. NLP-自然语言处理
  9. 配置光盘镜像YUM源和阿里YUM源(纯干货,建议收藏)
  10. 如何快速的开发一个完整的iOS直播app